我希望将自签名证书绑定(bind)到端口以开发我的自托管 wcf 应用程序,但我总是失败。
我完成的步骤:
创建根证书:
makecert.exe -a SHA256 -n "CN=DemoCA"-r -sv TempDemoCA.pvk TempDemoCA.cer
创建客户端证书:
makecert.exe -a SHA256 -sk Demo -iv TempDemoCA.pvk -n "CN=DemoTempCert"-ic TempDemoCA.cer DemoTemp.cer -sr currentuser -ss My -sky exchange
<
使用 mmc.exe(以管理员身份)将根证书导入本地计算机证书
使用mmc.exe将客户端证书导入本地计算机证书
将私钥添加到客户端证书,因为它没有 key 图标:
certutil -repairstore 我的“MyKeyHash”
添加了一个防火墙条目:
netsh http add urlacl url=https://+:9003/user=domain\user listen=yes
尝试将证书绑定(bind)到端口(作为管理员):
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 导入 - 创建一个新证书 - 知识库修补程序
有趣的事实:将现有的“本地主机”客户端证书绑定(bind)到端口工作正常。
我做错了什么? 提前致谢。
最佳答案
解决方案是通用名称必须与服务使用的域相同。在我的例子中,localhost 成功了。
关于ssl - 将自签名 ssl 证书绑定(bind)到端口失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43849860/