トップ回答者
IISのSSLハンドシェイク時に「Certificate Request」をクライアントに送信できない

質問
-
現在、Javaプログラムでクライアント認証をしているのですが、IISとのハンドシェイクで
IIS側が「Certificate Request」を出力してくれません。
以下の参考サイトにもあるように、「Certificate Request」は省略可となっていますが
これを強制的に出力する方法はないものでしょうか?
本来は、2012(IIS8.5)で環境構築したいのですが、以下の対象環境のどれでも構いませんので
経験のある方がおりましたら教えてください。宜しくお願いいたします。
対象環境 Windows 2003(IIS6)、2008(IIS7.5)、2012(IIS8.5)
参考サイト:http://www.ccjc-net.or.jp/~kouza/ssl/ssl_3.html
回答
すべての返信
-
IIS側が「Certificate Request」を出力してくれません。
出力させるべくIISに対してどのような設定を行ったのでしょうか? 質問文にはそれが書かれていません。
また、なぜ出力してほしいのでしょうか? 目的は「クライアント認証をしている」辺りあるのだとは思いますが、ではクライアント証明書を受け取ったIISはその後どうするのでしょうか? 読み捨ててしまうようでは、クライアント証明書を要求する意味がなくなります。
…という部分から調べていけば、IIS 7 で認証を構成するに辿り着き、「クライアント証明書マッピング認証」という表現が質問文に出てくるべきではないでしょうか。 -
説明不足で申し訳ありません。
IIS(8.5)では、CTL(Certificate Trust List) を作成できないので、以下の参考サイトで
Windows2003 SDKのMakeCTL.exe を使ってCTLを作成し、SSL設定で「SSLが必要」と「必要」にして
構成エディターで多対一マッピングをしています。
また、レジストリ「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel」に
「ClientAuthTrustMode」DWORD 2 をセットしたりもしました。
やりたいことは、クライアント(Java Soap通信)からHTTPSでクライアント認証をするのですが、とIIS(8.5)からの
「Certificate Request」を判断しなければなりません。
ハンドシェイク時の通信プロトコルを「WireShark」でみているのですが、どのような設定を行えばIIS側から
「Certificate Request」を出力するのかがわかりません。
IISの設定をいろいろいじってトライしているのですが、IIS6、IIS7.5、IIS8.5どれで構成してもダメでした。
「Certificate Request」を確実に出力する方法を探しています。宜しくお願いいたします。
参考サイト:
http://blogs.msdn.com/b/varunm/archive/2013/06/11/how-to-create-custom-certificate-trust-list-in-windows-server-2k8-r2.aspx