証明書のチェーン検証パスが複数ある場合は短いものが優先される

現象
証明書の検証を実行した際、クロスCA証明書などがチェーンに存在している場合など、証明書のチェーン検証パスが複数存在する場合があります。
この場合、証明書のチェーン検証では、短いチェーンが優先的に利用されます。
たとえば証明書のチェーンを確認した際、以下のような証明書チェーンが確認できるとします。

1.  証明書(サーバー証明書やクライアント証明書など)  - 中間 CA証明書 – ルート CA証明書
2.  証明書(サーバー証明書やクライアント証明書など)  - 中間 CA証明書 (1)  –  中間CA証明書 (2) - ルート CA証明書

この場合、チェーンの検証結果は、短いチェーンが利用されるため、1 のチェーンが利用されることとなります。

- 補足
この動作により、たとえば下記のシナリオで問題が起きる場合があります。
WEB サーバで利用しているサーバ証明書は、クライアントからのHTTPS (SSL) 接続を受けた際、自身のサーバ証明書と、検証で得られている証明書チェーン中間CA証明書を送ります。
複数の証明書チェーンが確認できる場合、短いチェーンが優先的に利用されます。
サーバ証明書と中間CA証明書を受け取ったクライアント側において、長いチェーンにてのみ検証できる状態である場合、証明書チェーンの検証が正しく出来ない可能性があります。結果、サーバ証明書が検証できない旨のエラーメッセージがブラウザに表示されることがあります。
原因
詳細
証明書チェーンが複数存在しており、特定のチェーンを利用させたい場合は、利用しない検証チェーンに存在するCA証明書を、証明書ストアから削除するか、無効にする必要があります。

IIS などが参照する証明書ストアは一つであり、各サイト毎に参照する証明書ストアを分けることができません。
そのため、 1 台のサーバにて複数のWEBサイトを構築し、両方のWEBサイト共に複数の証明書チェーンが確認できる共通の証明書を利用している場合、それぞれのサイト毎に別のチェーンを利用するように、使い分けることができません。

たとえば、WEBサイトA, WEBサイトB を同一のIIS 上に構築し、両方のWEBサイトにおいて以下のような証明書チェーンが複数確認できるとします。

1.  証明書(サーバー証明書やクライアント証明書など)  - 中間 CA証明書 – ルート CA証明書 
2.  証明書(サーバー証明書やクライアント証明書など)  - 中間 CA証明書 (1)  –  中間CA証明書 (2) - ルート CA証明書 

この場合、WEBサイトAはパス 1 を利用し、WEBサイトB はパス2 を利用する、といったように別のチェーンを使い分けることはできません。 
 
解決方法
本動作は仕様です。

 
回避策
この問題に対処するためには、以下のいずれかの方法にて対処することができます。

方法1. 利用しない CA証明書を削除する
証明書チェーンが複数存在しており、特定のチェーンを利用したい場合は、利用しない検証チェーンに存在するCA証明書を、証明書ストアから削除します。

手順
1. スタート ボタンから、mmc.exe とタイプし実行します。
2. [ファイル] から [スナップインの追加と削除] を実行します。
3. [証明書] を追加します。
 証明書がインストールされているアカウント (コンピュータ、ユーザ)を選択し追加してください。
4. 証明書スナップインが開きます。
 目的の証明書を削除します。
 信頼されたルート証明機関としてにインストールされている場合は [信頼されたルート証明機関] フォルダより目的の証明書を削除します。
 中間証明機関としてにインストールされている場合は [中間証明機関] フォルダより目的の証明書を削除します。

** ご利用のアプリケーションによっては、再起動が必要となります。


方法2. 利用しないCA証明書の目的を無効にする

1. スタート ボタンから、mmc.exe とタイプし実行します。
2. [ファイル] から [スナップインの追加と削除] を実行します。
3. [証明書] を追加します。
 証明書がインストールされているアカウント (コンピュータ、ユーザ)を選択し追加してください。
4. 証明書スナップインが開きます。
 目的の証明書がインストールされているストアのフォルダを開きます。
 信頼されたルート証明機関としてにインストールされている場合は [信頼されたルート証明機関] です。
 中間証明機関としてにインストールされている場合は [中間証明機関] です。
5. 目的の証明書を右クリックし、プロパティを開きます。
6. [この証明書の目的を無効にする] にチェックをいれ、OK をクリックします。

** ご利用のアプリケーションによっては、再起動が必要となります。

状況
詳細
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2570195 - 最終更新日: 09/29/2016 08:49:00 - リビジョン: 10.0

Windows 7 Enterprise, Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Starter, Windows 7 Ultimate, Windows 7 Service Pack 1, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Foundation, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Service Pack 1, Windows Vista Business, Windows Vista Enterprise, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Starter, Windows Vista Ultimate, Windows Vista Service Pack 1, Windows Vista Service Pack 2, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Foundation, Windows Server 2008 Standard, Windows Server 2008 Service Pack 2

  • kbcrypt KB2570195
フィードバック