ssl - Windows 8 : SSL certificate binding fails both programmatically and through netsh

标签 ssl binding windows-8 certificate port

我们有一个自动生成证书并使用 httpapi 将其绑定(bind)到选定端口的应用程序。在 Windows 7 和 2003/2008 服务器下,这非常有效。也可以通过解绑再绑定(bind)新端口的方式,将证书重新绑定(bind)到其他端口。

然而,在 Windows 8 下,只有从旧端口解除绑定(bind)才能成功。将证书绑定(bind)到新端口值的尝试失败,错误代码 1312 显示消息“指定的登录 session 不存在。它可能已经终止。”

这里奇怪的是,当尝试通过 netsh 添加绑定(bind)证书时,在提升的控制台中它也会失败,并出现相同的错误和消息(“SSL 证书添加失败,错误:1312|A指定的登录 session 不存在。它可能已经终止。"),不管端口号如何。

为了增加悬念,该应用程序有一个安装程序,该安装程序最初在安装时绑定(bind)证书,并在卸载时解除绑定(bind)。而且这东西永远不会失败!安装程序在“Windows 7”操作系统上下文中工作,而应用程序在“Windows Vista”下运行,如果这可以作为线索的话。控制台在“Windows 8”环境下。

有人在这个操作系统下遇到过类似的问题吗?任何想法为什么会发生这种情况?

非常感谢任何帮助,提前致谢!

最佳答案

在我们的证书生成代码中,我们使用 X509Store 类的方法将证书添加到商店中。在 Windows 8 下,即使应用程序以管理员身份运行,这也会使证书“不受信任”。原因可能是 .NET 4.5 中类的不同实现,也可能是由于应用程序在其中运行的操作系统上下文而施加的限制。

通过 Process 类调用“certutil.exe”将证书添加到存储中解决了这个问题。

关于ssl - Windows 8 : SSL certificate binding fails both programmatically and through netsh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15701531/

相关文章:

javascript - 多个客户端和不同消息的 TLS

node.js - gulp serve 命令打开浏览器并出现错误 : "This site can’ t provide a secure connection localhost sent an invalid response"

c# - 使用异步方法中的 INotifyPropertyChanged 进行 WPF 绑定(bind)

JavaFX 不同类型列表的bindContent双向

c# - 没有为 .winmd 文件提供实现文件

wpf - .net 4 wpf 功能区中的 Windows 8 native 外观

c# - 如何在 .NET 中处理 HTTP 连接?

Python SSL证书根据通用名称检查主机名

python - ctypes - 查看返回结构的 c_char_p 字段

javascript - 在 WinJS 导航应用程序的新页面中显示 ListView 控件中所选项目的详细信息