我正在创建一个托管在 Windows Vista SP1 上的 IIS7 中的 WCF 服务。我收到以下错误:
证书“CN=SignedByLocalHost”必须具有能够进行密钥交换的私钥。该进程必须具有私钥的访问权限。
看起来我需要对过去使用已在 Vista 中弃用的 winhttpcertcfg 完成的证书进行主机进程评估。我发现的文章表明使用证书控制台,但我缺少一些东西,因为我看不到任何编辑证书的能力。
任何帮助都会很棒!
谢谢
我正在创建一个托管在 Windows Vista SP1 上的 IIS7 中的 WCF 服务。我收到以下错误:
证书“CN=SignedByLocalHost”必须具有能够进行密钥交换的私钥。该进程必须具有私钥的访问权限。
看起来我需要对过去使用已在 Vista 中弃用的 winhttpcertcfg 完成的证书进行主机进程评估。我发现的文章表明使用证书控制台,但我缺少一些东西,因为我看不到任何编辑证书的能力。
任何帮助都会很棒!
谢谢
弄清楚了。
假设您在 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
。
您可以使用 IIS 7.0/7.5 只需 Start->Run ->inetmgr 选择服务器 在“Security”面板下,转到“Server Certificates” 在左侧窗格中单击 -“Create Self Signed Certificate”并完成该过程 crtfiticate 将获得安装在个人商店名称下的LocalMachine StoreLocation 中。现在在您的 WCF 服务中使用此证书,您将不会遇到此错误