2012-08-15 80 views
1

在.Net 4.0中,我一直无法使用X509Store的find方法从定制商店获取证书。使用下面的代码:无法通过公用名称从c#中的商店获取证书

X509Store store = new X509Store(storeName, StoreLocation.CurrentUser); 

store.Open(OpenFlags.ReadOnly); 
X509Certificate2Collection col = store.Certificates.Find(X509FindType.FindBySubjectName, commonName,false); 
+1

证书是否在CurrentUser商店而不是机器商店? – 2012-08-15 09:13:55

+0

你会得到一个异常,或者查找只是返回null? – Polyfun 2012-08-15 09:43:34

+0

@ShellShock它会给它一个0项的集合,我得到一个越界异常:索引超出范围。必须是非负数且小于集合的大小。 参数名称:index当我尝试使用集合 – flumeware 2012-08-15 09:45:35

回答

2

固定它

对不起,我做了我忘了让私有密钥导出,以便将加密的API不会暴露私钥.NET一次基本错误我让密钥导出代码开始工作。

+1

好,您可以在一段时间后接受您自己的答案。这是一个基本的错误,但我相信会有很多人犯同样的错误:) – 2012-08-15 21:28:11

相关问题