从.NET中的Request.ClientCertificate读取X509v3扩展字段

时间:2013-09-26 13:09:09

标签: c# asp.net .net x509certificate pki

如何从证书中读取X509v3扩展字段?我在AllKeys中迭代了HttpClientCertificate,但它只包含证书的常规字段&不是扩展字段。

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

那么如何阅读扩展字段?

1 个答案:

答案 0 :(得分:1)

查看HttpClientCertificateX509Certificate2的文档,看起来您应该能够使用Certificate属性获取ASN.1格式的整个证书的字节数组HttpClientCertificate。然后使用此字节数组通过this constructor实例化X509Certificate2对象。

拥有X509Certificate2对象后,您可以通过Extensions属性获取扩展程序。我不是肯定的,但是在X509Certificate2对象上调用toString()方法时,也可能会列出扩展名。