1

While trying to set up an SslStream, the example has a call in the client:

sslStream.AuthenticateAsClient(targetHost);

For AuthenticateAsClient, the documentation states "The value specified for targetHost must match the name on the server's certificate."

How can I find the targetHost of my x509 certificate?

4

2 に答える 2

2

ルールはプロトコルによって若干異なります。RFC 6125: Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS) では、プロトコル間の調和の取り組みが行われています。

そうは言っても、RFC 6125 ガイドライン (SSL/TLS を使用するすべてのプロトコルに適用可能であることを意味します) は、 RFC 2818 ( HTTP over TLS ) のセクション 3.1で定義されている HTTPS のガイドラインとほぼ同じです。

つまり、証明書に DNS タイプのサブジェクト代替名 (SAN) 拡張が含まれている場合、そのうちの 1 つが接続しようとしているターゲット ホスト名である必要があります。そのような拡張子がない場合は、証明書のサブジェクト DN を調べて、共通名 (CN) RDN を見つける必要があります。これは、ターゲット ホスト名と一致する必要があります。

于 2012-12-24T18:05:38.640 に答える
0

私はこの分野の専門家ではありませんが、それtargetHostはサーバーの名前であり、X509Certificate はサーバーを認証するために発行された証明書である必要があることをお勧めします。その場合、それは証明書のサブジェクト プロパティになります。

于 2012-12-24T16:15:37.903 に答える