2012-02-20 113 views
0

我试图从.NET连接到Web服务。我在我的类库中引用该服务。使用证书调用Web服务

我试图导入证书(这是一个名为.p12)到以下地点

  • 本地计算机\个人\证书
  • 本地计算机\受信任的根证书\证书
  • 当前用户\个人\证书
  • 当前用户\受信任的根证书\证书

在我Web.config我有以下设置证书,但我不断从Web服务获取一个异常,表示没有证书。

<clientCredentials> 
    <clientCertificate findValue="[email protected]" storeName="My" storeLocation="LocalMachine" x509FindType="FindByIssuerName"/> 
</clientCredentials> 

如果需要更多的代码,请让我知道。

感谢

回答

2

我认为这个问题可能是IIS在其下运行的用户没有权限在您的密钥存储私钥。当我过去遇到这个问题时,我发现了一个令人困惑的“未找到”的例外,当时它确实被“拒绝了许可”。

您可以使用一种工具来授予用户访问密钥库的权限。你可以得到这个工具,并在这里阅读:http://msdn.microsoft.com/en-us/library/windows/desktop/aa384088(v=vs.85).aspx

+0

我已经使用了这个。我正在尝试使用IIS Express在我的本地开发机器上执行此操作,但也需要在生产Web服务器上进行。 – 2012-02-20 04:57:11

+0

@mmillican - 这方面的进展如何?任何提示或确认要添加?试图自己弄清楚这一点,但除了生产环境中的PowerShell之外,我没有任何开发资源,开发环境现在没有为Web服务设置证书 - 试图弄清楚如何最好地确认我可以做到这一点,然后继续 – 2015-11-19 12:18:46