我有一些代码调用使用X.509认证保护的第三方Web服务.
如果我直接调用代码(使用单元测试),它可以正常工作.
部署后,将通过WCF服务调用此代码.我添加了第二个调用WCF服务的单元测试,但是当我在第三方Web服务上调用方法时,这个CryptographicException
消息失败了"Keyset does not exist"
.
我认为这是因为我的WCF服务将尝试使用不同的用户自己调用第三方Web服务.
任何人都可以解决这个问题吗?
Ste*_*don 270
这很可能是因为IIS用户无权访问证书的私钥.您可以按照以下步骤进行设置...
小智 38
我昨晚有同样的问题.私钥的权限设置正确,除了Keyset不存在错误外,一切都很好.最后,结果证明证书首先导入当前用户存储,然后移动到本地计算机存储.但是 - 没有移动私钥,这仍然在
C:\ Documents and settngs\Administrator ...
代替
C:\ Documents and settngs \所有用户......
正确设置了密钥的Altough权限,ASPNET无法访问它.当我们重新导入证书以便将私钥放在All users分支中时,问题就消失了.
Md.*_*mun 24
从IIS浏览时解决"密钥集不存在": 它可能是私有权限
查看并授予权限:
给予许可:
Vai*_*red 10
我遇到过这个问题,我的证书有私钥,但是我收到了这个错误("Keyset不存在")
原因:您的网站在"网络服务"帐户下运行或具有较少的权限.
解决方案:将应用程序池标识更改为"本地系统",重置IIS并再次检查.如果它开始工作它是权限/更少权限问题,您可以模拟然后使用其他帐户.
小智 8
完全令人沮丧,我遇到了同样的问题并尝试了上述大部分内容.导出的证书正确地具有读取文件的权限C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
,但事实证明它没有该文件夹的权限.添加它,它工作
归档时间: |
|
查看次数: |
176831 次 |
最近记录: |