0

我遇到了一个奇怪的问题,我用谷歌搜索并搜索了没有结果。我正在尝试为 windows server 2008 R2 上的 wcf 服务应用程序设置证书。我已将证书导入 localmachine 个人商店,我感到很害怕

"Keyset does not exist...the certificate ... must have a private key that is capable of key exchange. The process must have access rights for the private keys."

我尝试使用 mmc 中的“管理私钥”选项设置私钥的权限,还尝试手动设置位于 C:\programdata\microsoft\crypto\rsa\machinekeys 中的私钥文件的权限. 我验证我正在使用 findprivatekeys 工具修改正确的文件,并且还尝试使用 WSE X.509 证书工具。为了理智起见,我什至授予文件上“每个人”的读取权限,但仍然无法正常工作。

我在这里缺少什么吗?我正在使用 IIS7,我通常会授予对 IIS_IUSRS 组文件的访问权限。所有这些在 VM 上的其他测试中都运行良好。我什至在其他机器上使用了完全相同的证书,它们在那里工作......

我迷路了......我注意到的一件事是,如果我在“管理私钥”对话框中编辑权限,当我查看文件的权限时,安全设置更改不会反映,反之亦然反之亦然。文件还能在哪里?无论如何,我没有运气就从这两个地方授予了最大权限。

4

1 回答 1

0

不知道这里发生了什么,但在测试过程中,MachineKeys 文件夹的权限被彻底修改 - 所以我删除了除管理员组之外列出的所有用户的权限,删除了问题证书(通过 mmc)并重新-再次导入它。然后,我只为那个私钥添加了 IIS_IUSRS 读取和执行权限,我似乎已经备份了。

在相关说明中,我正在使用 aspnet_regiis -pi 为其他内容导入密钥对,该密钥对因“安全句柄已关闭”而失败。修复 MachineKeys 文件夹的权限也修复了这个问题......

于 2012-12-11T19:11:23.260 回答