我正在 Windows Vista SP1 上的 IIS7 中创建托管的 WCF 服务。我收到以下错误:
证书“CN=SignedByLocalHost”必须具有能够进行 key 交换的私钥。该进程必须具有私钥的访问权限。
看来我需要让主机进程评估过去使用 winhttpcertcfg 完成的证书,而 winhttpcertcfg 已被 Vista 弃用。我找到的文章指示使用证书控制台,但我遗漏了一些东西,因为我看不到任何编辑我的证书的能力。
任何帮助都会很棒!
谢谢
最佳答案
想通了。
假设您在 c:\OutCert 有一个自签名证书,下面的命令将起作用。我已经离开了 -sky 交换。
makecert -sk SignedByCA -iv c:\OutCert.pvk -n "CN=MyLocalHost"-ic c:\OutCert.cer -sr LocalMachine -ss My -sky exchange pe
现在您可以进入 MMC 工具并管理私钥并授予 IIS 访问该 key 的权限。要管理私钥,请右键单击证书并选择 All Tasks/Manage Private Keys
。
关于wcf - WCF 中的自签名证书问题 - 必须有私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/344590/