我通过 C# (bouncycastle) 创建了一个自签名 SSL 证书。它显示在本地计算机/个人商店中,看起来与 Microsoft 已经存在的 localhost 证书完全一样。如果我显示属性,它会说:
SSL 证书添加失败,错误:1312 指定的登录会话不存在。它可能已经被终止。
但是,如果我想通过 netsh 注册此证书,则会收到错误消息:
netsh.exe http add sslcert ipport=0.0.0.0:{0} certhash={1} appid={2}
app-id 是在 assemblyinfo.cs 中指定的 GUID。certhash
是证书属性页的哈希值。
我在许多博客文章中发现了为什么会发生这种情况的几个原因:
- 使用提升的权限(我正在这样做)
- 确保您的证书在“本地计算机”中注册,而不是在“当前用户”中 - 我有这个。
- 确保证书有一个私钥(它有,如属性对话框中所示)。
他们都没有成功...