我正在Windows Vista SP1上的IIS 7中创建一个WCF服务。我得到以下错误:证书“CN=SignedByLocalHost”必须具有能够进行密钥交换的私钥。进程必须具有私钥的访问权限。看起来我需要给予主机进程对证书的评估,这是过去用winhttpcertcfg完成的,它已经被Vista弃用了。我找到的文章指出使用证书控制台,但我缺少一些东西,因为我没有看到任何编辑我的证书的功能。任何帮助将是伟大的!谢谢
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。
All Tasks / Manage Private Keys
qnyhuwrf2#
您可以使用IIS 7.0/7.5 Just Start->Run ->inetmgr选择服务器在“Security”面板下,转到“Server Certificates”在左窗格中单击-“Create Self Signed Certificate”并完成此过程。现在在您的WCF服务中使用此证书,您将不会遇到此错误
vkc1a9a23#
如果有人因为找不到“管理私钥”选项而遇到这个问题,Crackerjack给出的回答为我解决了这个问题:“确保在加载MMC管理单元时使用的是”计算机帐户“证书存储,而不是”我的用户帐户“存储”
3条答案
按热度按时间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
。qnyhuwrf2#
您可以使用IIS 7.0/7.5 Just Start->Run ->inetmgr选择服务器在“Security”面板下,转到“Server Certificates”在左窗格中单击-“Create Self Signed Certificate”并完成此过程。现在在您的WCF服务中使用此证书,您将不会遇到此错误
vkc1a9a23#
如果有人因为找不到“管理私钥”选项而遇到这个问题,Crackerjack给出的回答为我解决了这个问题:
“确保在加载MMC管理单元时使用的是”计算机帐户“证书存储,而不是”我的用户帐户“存储”