【发布时间】:2011-11-11 23:58:24
【问题描述】:
假设我有三个证书(Base64 格式)
Root
|
--- CA
|
--- Cert (client/signing/whatever)
如何在 C# 中验证证书和证书路径/链? (所有这三个证书可能不在我的计算机证书存储中)
编辑:BouncyCastle 具有验证功能。但我尽量不使用任何第三方库。
byte[] b1 = Convert.FromBase64String(x509Str1);
byte[] b2 = Convert.FromBase64String(x509Str2);
X509Certificate cer1 =
new X509CertificateParser().ReadCertificate(b1);
X509Certificate cer2 =
new X509CertificateParser().ReadCertificate(b2);
cer1.Verify(cer2.GetPublicKey());
如果 cer1 没有被 cert2(CA 或 root)签名,就会出现异常。这正是我想要的。
【问题讨论】:
标签: c# cryptography x509certificate x509