Mar*_*oDS 6 .net c# certificate self-signed x509certificate2
我正在使用C#.NET,需要在Windows证书库中安装一堆证书.
我需要检查哪些证书是根证书(即自签名),因此我可以将它们安装到"受信任的根证书"存储中.
我正在使用标准X509Certificate2课程.我现在的想法是,以检查是否Issuer和Subject是相同的.
我注意到,X509Certificate2有Issuer- IssuerName和Subject- SubjectName.
它是更好地对比Issuer到Subject,或者IssuerName到SubjectName?或者它真的不重要吗?
此外,这是一种可靠的方法还是我会更好地使用另一种方法?
Rob*_*Rob 11
请参阅此文章:java - 查找证书是自签名还是CA签名
虽然它不是C#,但解决方案的评论指出
如果主题和发行者是相同的,则它是自签名的
意味着你对你试图验证它的方式是正确的.
IssuerName并SubjectName返回DistinguishedName包含RawData(byte[]包含发行者/主题的原始信息)的a.你最好比较这个领域,虽然我相信比较Subject并且Issuer同样有效.
所以,你可以这样写:
public static bool IsSelfSigned(X509Certificate2 cert)
{
return cert.SubjectName.RawData.SequenceEqual(cert.IssuerName.RawData);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3070 次 |
| 最近记录: |