我正在尝试将证书添加到Web请求以连接到Azure服务。
我的代码如下所示:
string certThumbprint = "thumbprint";
X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
X509Certificate2Collection certCollection = certStore.Certificates.Find(
X509FindType.FindByThumbprint, certThumbprint, false);
现在我可以确认证书确实存在且指纹正确。但是certCollection
空了。
有什么想法吗?
更新:这是我打开证书商店的方式
certStore.Open(OpenFlags.ReadOnly);
答案 0 :(得分:17)
在指纹的最开始,您可能有一两个隐藏的角色。从MMC中的证书管理器复制指纹之前,我多次犯过这个错误。以下是有关此问题的详细信息的链接。 http://support.microsoft.com/kb/2023835
答案 1 :(得分:0)
我今天也遇到了同样的问题,虽然指纹前后都有隐藏的字符,但是如果您的调试在其他用户下运行,则StoreLocation.CurrentUser
与在Windows中打开的一个。
我在本地的Service Fabric中运行此问题