证书:无法找到用于解密的证书和私钥。签名时出错

时间:2010-10-14 17:56:41

标签: iis-6 windows-server-2003 x509certificate account

3 个答案:

答案 0 :(得分:4)

前两个步骤与IIS 7.5 (click here)

相同
  1. 创建/购买证书。确保它有私钥。
  2. 将证书导入“本地计算机”帐户。最好使用证书MMC。 请务必选中“允许导出私钥”
  3. 以管理员身份运行以下命令。替换以下内容:

    • 将[Subject]替换为证书的主题,如果包含空格则使用引号。只要没有另一个以相同主题开头的证书,我认为你也可以只放第一个字。
    • 将[Store]替换为导入的证书存储区,默认情况下我认为是IIS 6上的“ROOT”或“MY”,即“LOCAL_MACHINE \ ROOT”或“LOCAL_MACHINE \ MY”
    • 将[computername]替换为计算机名称。您可以使用[。computernam]的“。”符号,即“。\ NETWORK SERVICE”,但我还没有尝试过。
  4. winhttpcertcfg.exe -g -a“[computername] \ NETWORK SERVICE”-c LOCAL_MACHINE \ [Store] -s“[Subject]”

    注意:如果您使用“NETWORK SERVICE”以外的身份运行ASP.NET应用程序池,则需要将上述命令中的“NETWORK SERVICE”更改为您的身份重新运行IIS应用程序池。

答案 1 :(得分:2)

请检查此document,这有助于您解决问题。我建议使用以下命令选项:

winhttpcertcfg -g -c LOCAL_MACHINE\My -s MyCertificate -a TESTUSER 

答案 2 :(得分:0)

也可能需要授予对匿名用户的访问权限。如果您允许匿名访问,则请求将作为匿名用户而非网络服务运行。