x.509证书 - 当主题以电子邮件开头时,无法读取CN

时间:2012-04-04 21:17:45

标签: asp.net x509certificate

我正在尝试从X509Store对象获取证书,使用subject X509FindType.FindBySubjectName.我可以在调试时在store对象的innerList数组中看到正确的证书,但是某些原因在尝试按SubjectName查找证书时无法实例化X509CertificateCollection对象。

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509CertificateCollection certs = store.Certificates.Find(X509FindType.FindBySubjectName, Vendor.CertName, true);

我注意到主题以电子邮件地址属性开头,商店中的所有其他证书(我能够找到)以证书名称(CN)开头。

主题示例:

E=someDude@theirSite.com, CN=Our Technology, L=Tampa, S=FL, C=US

其他有效的证书如下:

CN=Some Certificate Authority, OU=Ecommerce, O=Company Inc, C=US

如果主题以电子邮件属性开头,我是否应该以不同的方式通过subjectName查找证书?如果没有,有关如何从证书存储中检索它的任何建议吗?

由于

1 个答案:

答案 0 :(得分:0)

原来这是一个安装在个人证书文件夹中的根证书。将它移动到根目录,使用StoreLocation.Root就可以了。