使用localhost证书保护websocket



我们的网站使用安全连接(HTTPS),我们需要客户端与后台运行的程序(使用Qt制作)进行通信,该程序是用户以前安装的。我们打算使用websocket,使用公司签署的证书来实现这一点。CA安装在Windows和Mozilla数据库中。

由于websocket在客户端运行,websocket服务器也在客户端的机器上运行,因此连接在localhost上执行。此外,因为我们使用HTTPS,所以我们也必须使用WSS。我们选择了2424端口。

问题是,Chrome、Firefox和IE认为该连接不可信,因为它位于localhost上(我认为)。如果我在https://127.0.0.1:2424上打开一个新的选项卡,则会显示一条错误消息;浏览器表示证书仅在本地主机上有效,这可能意味着有人试图拦截发送到服务器的数据(Firefox错误代码:ssl_error_bad_cert_domain)。

问题是证书颁发给了localhost,而不是127.0.0.1。网络套接字使用IP连接,不在证书范围内,因此将套接字地址从wss://127.0.0.1:2424更改为wss://localhost:2424有效,至少对Chrome和IE有效,但在Firefox中仍然拒绝连接。

相关内容

  • 没有找到相关文章

最新更新