WCF服务器证书未找到密钥集,找不到私钥

时间:2009-07-29 12:54:50

标签: .net wcf certificate

我有一个使用我的WCF服务的服务器证书。

然而,当我运行web服务时,我似乎有权限问题。

[ArgumentException:证书'CN = S80'必须有一个能够进行密钥交换的私钥。该进程必须具有私钥的访问权限。]

有什么想法吗?

2 个答案:

答案 0 :(得分:18)

假设您拥有完整的公钥/私钥对,则您未授予对运行WCF服务的流程的证书私钥的访问权限。

现在,如何执行此操作取决于您的操作系统版本以及您如何托管服务,但this article提供了适用于XP和Windows 2003的说明。

对于Windows 2008 / Vista / Win7,这个过程稍微容易一些。启动MMC并添加证书管理单元,为您的SSL证书选择正确的容器所有者。找到证书(可能在个人商店中),右键单击它并选择所有任务>管理私钥。授予对托管服务的用户的私钥的读访问权。

答案 1 :(得分:2)

winhttpcertcfg -g -c LOCAL_MACHINE\MY -s mycert -a "Network Service"