CryptographicException“密钥集不存在”,但只能通过 WCF

2023-11-25

我有一些代码可以调用使用 X.509 认证保护的第三方 Web 服务。

如果我直接调用代码(使用单元测试),它就可以正常工作。

部署后,将通过 WCF 服务调用此代码。我添加了第二个调用 WCF 服务的单元测试,但是失败并显示CryptographicException, 信息"Keyset does not exist"当我调用第三方 Web 服务上的方法时。

我认为这是因为我的 WCF 服务将尝试使用与我不同的用户来调用第三方 Web 服务。

任何人都可以对这个问题有更多的了解吗?


这很可能是因为 IIS 用户无权访问您的证书的私钥。您可以按照以下步骤进行设置...

  1. 开始 → 运行 → MMC
  2. 文件 → 添加/删除管理单元
  3. 添加证书管理单元
  4. 选择计算机帐户,然后点击下一步
  5. 选择“本地计算机”(默认),然后单击“完成”
  6. 在控制台根目录的左侧面板上,导航至 证书(本地计算机)→ 个人 → 证书
  7. 您的证书很可能就在这里。
  8. 右键单击您的证书→所有任务→管理私钥
  9. 在此设置您的私钥设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CryptographicException“密钥集不存在”,但只能通过 WCF 的相关文章

随机推荐