ssl WCF中的自签名证书问题-必须具有私钥

cmssoen2  于 8个月前  发布在  其他
关注(0)|答案(3)|浏览(99)

我正在Windows Vista SP1上的IIS 7中创建一个WCF服务。我得到以下错误:
证书“CN=SignedByLocalHost”必须具有能够进行密钥交换的私钥。进程必须具有私钥的访问权限。
看起来我需要给予主机进程对证书的评估,这是过去用winhttpcertcfg完成的,它已经被Vista弃用了。我找到的文章指出使用证书控制台,但我缺少一些东西,因为我没有看到任何编辑我的证书的功能。
任何帮助将是伟大的!
谢谢

4zcjmb1e

4zcjmb1e1#

想明白了
假设你在c:\OutCert有一个自签名证书,下面的命令将起作用。我已经停止了与天空的交流。
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

qnyhuwrf

qnyhuwrf2#

您可以使用IIS 7.0/7.5 Just Start->Run ->inetmgr选择服务器在“Security”面板下,转到“Server Certificates”在左窗格中单击-“Create Self Signed Certificate”并完成此过程。现在在您的WCF服务中使用此证书,您将不会遇到此错误

vkc1a9a2

vkc1a9a23#

如果有人因为找不到“管理私钥”选项而遇到这个问题,Crackerjack给出的回答为我解决了这个问题:
“确保在加载MMC管理单元时使用的是”计算机帐户“证书存储,而不是”我的用户帐户“存储”

相关问题