HTTPエラー403.16-クライアント証明書の信頼の問題
Http Error 403 16 Client Certificate Trust Issue
解決:
Windows 2012では、より厳密な証明書ストアの検証が導入されました。 KB 2795828によると:Lync Server2013フロントエンドサービスはWindowsServer 2012で開始できません。信頼されたルート証明機関(つまり、ルート)ストアは、自己署名された証明書のみを持つことができます。そのストアに自己署名されていない証明書が含まれている場合、IISでのクライアント証明書認証は403.16エラーコードで返されます。
この問題を解決するには、ルートストアからすべての非自己署名証明書を削除する必要があります。このPowerShellコマンドは、自己署名されていない証明書を識別します。
Get-Childitem cert: LocalMachine root -Recurse | Where-Object {$ _。Issuer-ne $ _。Subject}私の状況では、これらの自己署名されていない証明書を中間証明機関(CA)ストアに移動しました。
Get-Childitem cert: LocalMachine root -Recurse | Where-Object {$ _。Issuer-ne $ _。Subject} | Move-Item -Destination Cert: LocalMachine CAKB 2801679:KB931125をインストールした後のSSL / TLS通信の問題によると、信頼できる証明書が多すぎる可能性もあります。
[T] Schannelセキュリティパッケージがサポートする信頼できる認証局リストの最大サイズは16キロバイト(KB)です。サードパーティのルート認証機関が大量にあると、16kの制限を超え、TLS / SSL通信の問題が発生します。
この状況での解決策は、信頼できない認証局の証明書を削除するか、信頼できる認証局のリストの送信を停止することです。HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control SecurityProviders SCHANNEL @SendTrustedIssuerListレジストリエントリを0に設定します(存在しない場合、デフォルトは1です)。
私の場合、サーバーの「現在のユーザー」証明書ストアにルート証明書を追加していて、403.16エラーが発生していました。
ローカルマシンの信頼されたルート権限ストアにルート証明書を追加すると、問題が解決しました。
IISを実行しているサーバーで以下の手順に従います。
Windows Server 2008 R2の場合:
- 証明書ファイルを右クリックして、[証明書のインストール]を選択します。 [次へ]をクリックします。
- [すべての証明書を次のストアに配置する]を選択し、[参照...]をクリックします。
- [実店舗を表示する]をオンにします
- [信頼されたルート証明機関]を展開し、[ローカルコンピューター]を選択します。 [OK]をクリックします。
- [次へ] / [完了]をクリックします。
Windows Server 2012 R2の場合:
- 証明書ファイルを右クリックして、[証明書のインストール]を選択します。
- 「ローカルマシン」を選択します。 [次へ]をクリックします。
- [すべての証明書を次のストアに配置する]を選択し、[参照...]をクリックします。
- [信頼されたルート証明機関]を選択します。 [OK]をクリックします。
- [次へ] / [完了]をクリックします。
Windows 7の場合:
- スタート->実行-> mmc.exe
- ファイル-> 'スナップインの追加または削除'。 [証明書]を選択し、[追加>]をクリックして、[コンピューターアカウント]、[ローカルコンピューター]の順に選択します。 [完了/ OK]をクリックします
- [証明書(ローカルコンピューター)]-> [信頼されたルート証明機関]-> [証明書]を展開します。 [証明書]を右クリックして、[すべてのタスク]-> [インポート]を選択します。
- 証明書ファイルを選択し、[次へ]をクリックします。
- [すべての証明書を次のストアに配置する]を選択し、[参照...]をクリックします。
- [実店舗を表示する]をオンにします
- [信頼されたルート証明機関]を展開し、[ローカルコンピューター]を選択します。 [OK]をクリックします。
- [次へ] / [完了]をクリックします。