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

C# 从.NET中的Request.ClientCertificate读取X509v3扩展字段,c#,asp.net,.net,x509certificate,pki,C#,Asp.net,.net,X509certificate,Pki,如何从证书中读取X509v3扩展字段?我在HttpClientCertificate中迭代了AllKeys,但它只包含证书的常规字段,而不包含扩展字段 HttpClientCertificate cs = Request.ClientCertificate; foreach (String s1 in cs.AllKeys) Response.Write( s1 + ":" + cs[s1] + "<br>"); HttpClientCertificate cs=Reque

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

HttpClientCertificate cs = Request.ClientCertificate;
foreach (String s1 in cs.AllKeys)
    Response.Write( s1 + ":" + cs[s1] + "<br>");
HttpClientCertificate cs=Request.ClientCertificate;
foreach(cs.allkey中的字符串s1)
响应。写入(s1+“:“+cs[s1]+”
”;

那么如何读取扩展字段呢?

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

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