【发布时间】:2014-10-19 21:29:52
【问题描述】:
我正在尝试解析 X509 证书自定义扩展。 (我创建了一个带有“证书策略”类型的自定义扩展的自签名证书)。我需要解析这个“证书策略”及其值。以编程方式,我可以获得“证书策略”的自定义扩展名,但我无法获得它的值。我使用的代码如下:
public static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
var cert = (X509Certificate2)certificate;
foreach (X509Extension ext in cert.Extensions)
{
// AsnEncodedData x = new AsnEncodedData(ext.Oid, ext.RawData);
MessageBox.Show("Name: " + ext.Oid.FriendlyName + "\nValue: " + ext.Oid.Value);
}
return true;
}
此代码仅显示“证书策略”,但我需要下面显示的策略的解析元素:
证书策略元素下的值:
[1]Certificate Policy:
Policy Identifier=1.2.3.4
[2]Certificate Policy:
Policy Identifier=1.5.6.7.8
[3]Certificate Policy:
Policy Identifier=1.3.5.8
[3,1]Policy Qualifier Info:
Policy Qualifier Id=CPS
Qualifier:
Tarzano
[3,2]Policy Qualifier Info:
Policy Qualifier Id=User Notice
Qualifier:
Notice Reference:
Organization=Tarzano Ltd
Notice Number=1, 2, 3, 4
Notice Text=Buraya mesaj yazilabilir
感谢您的帮助!
【问题讨论】:
标签: c# ssl x509certificate asn.1 x509certificate2