9

我正在创建一个托管在 Windows Vista SP1 上的 IIS7 中的 WCF 服务。我收到以下错误:

证书“CN=SignedByLocalHost”必须具有能够进行密钥交换的私钥。该进程必须具有私钥的访问权限。

看起来我需要对过去使用已在 Vista 中弃用的 winhttpcertcfg 完成的证书进行主机进程评估。我发现的文章表明使用证书控制台,但我缺少一些东西,因为我看不到任何编辑证书的能力。

任何帮助都会很棒!

谢谢

4

2 回答 2

8

弄清楚了。

假设您在 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 对密钥的访问权限。要管理私钥,请右键单击证书并选择All Tasks / Manage Private Keys

于 2008-12-05T17:49:14.820 回答
5

您可以使用 IIS 7.0/7.5 只需 Start->Run ->inetmgr 选择服务器 在“Security”面板下,转到“Server Certificates” 在左侧窗格中单击 -“Create Self Signed Certificate”并完成该过程 crtfiticate 将获得安装在个人商店名称下的LocalMachine StoreLocation 中。现在在您的 WCF 服务中使用此证书,您将不会遇到此错误

于 2011-08-09T12:06:38.247 回答