2

X509Certificate を Http Handler から Web サービスに送信しようとしています。この Web サービスは証明書を受け取って読み取り、ユーザーを認証します。証明書が正常に送信されていることはわかっています。HttpWebRequest送信前に確認できるテスターがあり、ClientCertificatesプロパティには証明書が添付されていることが示されています。(例request.ClientCertificates.Count = 1)。

ただし、Web サービスの反対側では、HttpRequest.ClientCertificate一貫してNULL. Microsoft KB の例をいくつか見てきましたが、それらはすべて、証明書を挿入するために同じ手法を使用しています。他の関係のない記事HttpRequest.ClientCertificateは、それがそれを読むための好ましい方法であることを示しています.

では、何が間違っているのでしょうか? また、サーバー上でクライアント証明書が送信されたことを確認するにはどうすればよいでしょうか?

4

1 に答える 1

1

HttpListenerwithclientcertnegotiation=enableを設定するとnetsh役立つ場合があります (これにより、再ネゴシエーションを使用するのではなく、最初のハンドシェイク中にサーバーがクライアント証明書をネゴシエートします)。

また、クライアント側で秘密鍵を使用して証明書を初期化したかどうかによっても異なります。「X509 クライアント証明書を使用して HTTPS に接続できない」を参照してください。

于 2010-08-10T17:08:32.293 に答える