ブラウザが証明書を要求しない - IIS 10.0

ブラウザが証明書を要求しない - IIS 10.0

IIS 8.5 で正常に動作していたアプリケーションがあり、パスのクライアント証明書ログイン (スマートカード) に web.config ファイルでこの設定を使用していました。このアプリケーションを IIS 10.0 に移行する必要がありましたが、アプリケーションが証明書を要求せず、証明書がないというコード エラーが単にスローされる以外はすべて正常に動作しています。

IIS のすべての設定を 2 回、3 回確認しましたが、証明書は同じで、SSL 設定も同じです。アプリケーションは単純な .netcore アプリケーションで、証明書プロンプトを除いて完全に動作します。IIS 10 と 8.5 で何か違いがあり、見落としている可能性がありますか。ブラウザーが証明書をプロンプトできるようにする web.config の部分は、この部分だと思います。これを行った開発者はもういませんので、この点についてご助力いただければ幸いです。既に確認した内容以外に、IIS で確認する必要があることはありますか?

他の投稿をいくつか確認し、ルート証明書と中間証明書が証明書ストアなどにあることを確認しました。アプリ自体は SSL 証明書で正常に読み込まれます。

<location path="SmartCard">
<system.webServer>
  <security>
    <access sslFlags="Ssl,SslNegotiateCert" />
  </security>
</system.webServer>

答え1

全て物事が等しい、 それすべき同じように動作します!

しかし、これが重要な部分です。? のレベルより上web.config(または下)では、すべてが同じではない可能性があります。web.config は、同じ HTTP URL パスの一部である SmartCard フォルダにのみ適用されます。位置鬼ごっこ)

Windows\System32\InetSrv\config\ApplicationHost.config蓄積する傾向があるもの時間が経つにつれて、人々はサーバーレベルの構成変更を忘れてしまいます。

したがって、考えられる選択肢は次のようになります。

  • サーバー証明書があることを確認する秘密鍵付きインストールされており、サイトバインディングにHTTPSが含まれていること

    • SSL経由でサイトを使用すると機能するとおっしゃっていましたが、これは
  • 稼働中のサーバーからサイトの有効な設定をダンプし、稼働していないサーバーのダンプされた設定と比較します。

    • ボーナスポイントとして、Web Deployment Toolのようなものが役に立つかもしれません
    • 手動の方法:
      • APPCMD LIST CONFIG http://site/pathabovesmartcard/ /text:* >working.txt(稼働中のサーバー上)
      • APPCMD LIST CONFIG http://site/pathabovesmartcard/ /text:* >NONworking.txt(... ご想像のとおり、動作していないサーバーです!)
      • その後比較するテキストエディタや賢明な目でそれらを
      • XMLを好む場合は/text:*を省略してください
  • それぞれの比較に加えて、NETSH SHOW SERVICESTATEHTTP.SYSキューの簡単なレビューを行います。

これは実際には削除されたバージョンです。applicationhost.configサイトごとにフィルタリングされていない(最初は合理的に整理され、その後の変更に応じて線形に整理された)の完全な内容を でWindows\System32\InetSrv\Config見ることもできます。かもしれないより簡単になります(または、はるかに難しくなります)。

関連情報