0

証明書から X509v3 拡張フィールドを読み取るにはどうすればよいですか? 繰り返しAllKeysました HttpClientCertificateが、証明書の通常のフィールドのみが含まれており、拡張フィールドは含まれていません。

HttpClientCertificate cs = Request.ClientCertificate;
foreach (String s1 in cs.AllKeys)
    Response.Write( s1 + ":" + cs[s1] + "<br>");

では、拡張フィールドを読み取るにはどうすればよいでしょうか。

4

1 に答える 1

1

HttpClientCertificateX509Certificate2のドキュメントを見ると、のCertificateプロパティを使用して、証明書全体のバイト配列を ASN.1 形式で取得できるようですHttpClientCertificate。次に、このバイト配列を使用して、このコンストラクターX509Certificate2を介してオブジェクトをインスタンス化します。

X509Certificate2オブジェクトを取得したら、Extensions プロパティを使用して拡張機能を取得できます。私は肯定的ではありませんが、オブジェクトでtoString()メソッドが呼び出されたときに拡張機能がリストされることもありX509Certificate2ます。

于 2013-09-27T17:23:05.537 に答える