将自签名 ssl 证书绑定到端口失败

bind self signed ssl certificate to port failed

我希望将自签名证书绑定到端口以开发我的自托管 wcf 应用程序,但我总是失败。

我完成的步骤:

  1. 创建了根证书:

    • makecert.exe -a SHA256 -n "CN=DemoCA" -r -sv TempDemoCA.pvk TempDemoCA.cer
  2. 创建了客户端证书:

    • makecert.exe -a SHA256 -sk Demo -iv TempDemoCA.pvk -n "CN=DemoTempCert" -ic TempDemoCA.cer DemoTemp.cer -sr currentuser -ss My -sky exchange
  3. 使用mmc.exe(作为管理员)将根证书导入本地计算机证书

  4. 将带有 mmc.exe 的客户端证书导入本地计算机证书

  5. 将私钥添加到客户端证书,因为它没有钥匙图标:

    • certutil -repairstore my "MyKeyHash"
  6. 添加了防火墙条目:

    • netsh http add urlacl url=https://+:9003/ user=domain\user listen=yes
  7. 试图将证书绑定到端口(作为管理员):

    • netsh http add sslcert ipport=0.0.0.0:9003 certhash=MyCertHash appid={NewGuid} clientcertnegotiation=enable

但是第 7 步失败,出现错误 1312。

SSL Certificate add failed, Error 1312

A specified logon session does not exist. It may already have been terminated.

我通过谷歌搜索发现的所有内容都没有解决我的问题,例如: - 通过 mmc 导入而不是 certmgr.msc - 创建一个新证书 - 知识库修补程序

有趣的事实:将现有 "localhost" 客户端证书绑定到端口工作正常。

我做错了什么? 提前致谢。

解决方案是公用名称必须与服务使用的域相同。在我的例子中,localhost 成功了。