MicrosoftがTLS 1.3ブレイクIIS Expressクライアント証明書のWindows 11

利用可能な回避策ですが、公式の修正はまだありません
開示ページを読んで、Windows Insightが編集チームを維持するのをどのように支援できるかを確認してください。続きを読む
読者はWindowsの洞察をサポートするのに役立ちます。あなたが当社のリンクを通して購入する場合、私たちは手数料を取得するかもしれません。
Microsoftのエンジニアは、Windows 11でのTLS 1.3のデフォルト使用が、クライアント証明書を操作する際にIIS Expressの互換性の問題を引き起こしていることを確認しました。いくつかの条件下での完全なIIにも影響を与えるこの問題は、再交渉と呼ばれる機能に対するTLS 1.3のサポートの欠如に由来しています。
それだけではありません。再交渉により、TLS 1.2以前のサーバーにより、暗号化されたセッションの途中でクライアント証明書を要求することができました。残念ながら、IIS Expressは、最初のTLSハンドシェイク中に要求されない限り、クライアント証明書を検証することはできません。 IIS ExpressはTLSを処理するためのWindowsのHTTP.SYSドライバーに依存するため、介入するには遅すぎるコントロールが得られます。
変化は、相互TLS(MTL)に依存する開発者のテストプロジェクトに影響を与えます。古いWindows 11のビルドとサーバー2022では、ブラウザは接続をリセットするだけです。一方、バージョン24H2およびサーバー2025では、IISは500.0の内部サーバーエラーとエラーコード0x80070032で応答します。
MicrosoftはIIS Expressの恒久的な修正を発表しておらず、将来それを展開するかどうかは不明です。今のところ、開発者のマット・ハムリックは、3つの可能な回避策を提案しています。
*最初に、レジストリ編集を介してインバウンドTLS 1.3を無効にする必要があります。これにより、WindowsはローカルサーバーセッションにTLS 1.2を使用することになります。
*上記の回避策が機能しない場合は、単にhttp.sysバインディングをNetSHで変更するため、最初の握手中に証明書が要求されます。
*何も機能しない場合は、可能であればIIS Express構成ファイルからクライアント証明書の要件を削除します。
これらの手順に加えて、Hamrickは、いくつかの方法で管理特権を必要とするか、ビジュアルスタジオの更新中にリセットされる可能性があると警告しています。 Windows Server 2025の完全なIISには、サイトバインディングのネゴチエートクライアント証明書オプションが既に含まれており、管理者がより多くの制御を提供することに注意してください。
ただし、IIS Expressには、そのバインディングがVisual Studioによって事前に構成されており、直接管理が制限されているため、その柔軟性はありません。それだけではありません。ほとんどのWebブラウザは、ポストハンドシェイク認証のTLS 1.3拡張機能をまだサポートしていません。つまり、問題はサーバーの設定と同様にクライアントのサポートに関するものです。
現在のところ、MicrosoftはIIS Expressが適切な修正を受けるかどうかを詳述していません。ハムリック自身は、「修正があるかどうか、そしてそれがどのように見えるかわからない」と書いています。今のところ、IIS Expressを構築する開発者は、回避策に依存するか、構成を調整する必要があります。
*÷ソースリンク:
IIS Expressの互換性の問題を引き起こす、エラーコード0x80070032、エラー