无法在LocalMachine商店或CurrentUser商店中找到证书

时间:2011-02-19 01:16:52

标签: c# winforms .net-2.0

我已经在用户PC中安装了ssl cert。而且,我还在Trusted Root Certification Authorities的本地计算机下导入了证书。我正在尝试使用web servcie。在我的代码中,我附上了证书,如下所示。

webservice.ClientCertificates.Add(X509Certificate.CreateFromCertFile(certPath));

但是我收到了以下错误。

  

无法在LocalMachine商店或CurrentUser商店中找到证书

可能是什么问题?我正在使用.Net Framework 2.0。所以,不能使用WCF。谢谢。

3 个答案:

答案 0 :(得分:3)

这意味着,

  • 可能是您安装了错误的证书。
  • 您将证书安装到了错误的位置。

判断您是否正确安装了客户端证书的简单方法是

  1. 启动IE。
  2. 打开工具|互联网选项。
  3. 在“内容”标签中,单击“证书”按钮。
  4. 然后你应该在Personal中看到cert(读取证书路径并查看它是否包含错误),并且能够在你的WinForms应用程序中使用它。

答案 1 :(得分:1)

尝试连接到尚未设置为使用SSL的服务时,我遇到了同样的错误。一旦我将服务配置更改为使用SSL,连接就可以正常工作。

如果帐户无法访问私有密钥,您可能会收到该错误,而Windows资源工具包中的WinHttpCertCfg.exe可以解析该密钥。

答案 2 :(得分:0)

我遇到了类似的问题。在我的情况下,它通过使用 MMC 并为用户Full control提供证书的IIS_IUSRS权限来解决。我的网站在ApplicationPoolIdentity下运行。这个答案引导我走上了正确的道路:How to give ASP.NET access to a private key in a certificate in the certificate store?

enter image description here