【问题标题】:Secure websocket with localhost certificate使用 localhost 证书保护 websocket
【发布时间】:2016-04-17 08:24:42
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么需要这个?环回接口上的证书用途是什么?
  • 使用非安全 websocket 的连接被拒绝,因为页面使用 HTTPS
  • @KhinBaptista,您是如何创建和安装证书的?

标签: ssl websocket ssl-certificate


【解决方案1】:

问题是证书颁发给localhost,而不是127.0.0.1。使用 IP 连接的 websocket,证书未涵盖,因此将套接字地址从 wss://127.0.0.1:2424 更改为 wss://localhost:2424 工作,至少对于 Chrome 和 IE,但在 Firefox 中仍然拒绝连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多