Firefox 断开自签名证书的 websockets 连接
Posted
技术标签:
【中文标题】Firefox 断开自签名证书的 websockets 连接【英文标题】:Firefox disconnects websockets connection for a self signed certificate 【发布时间】:2014-12-31 20:20:11 【问题描述】:我正在尝试与使用自签名证书的后端服务器建立 websocket 连接。在 Firefox 中,我为自签名证书添加了一个例外。
但是我的 websocket 连接 wss:// 连接失败。我收到一个包含代码 1006 的关闭事件,这是一个捕获所有代码。
Chrome 和 IE 网络套接字工作。由于我使用的是 Windows,因此我使用 certmgr.exe 作为受信任的证书安装了证书。
我现在的猜测是,firefox websockets 不适用于证书异常,需要被信任。
这种情况是否适用于其他人?
【问题讨论】:
【参考方案1】:只有当站点的证书是可信的时,Firefox 才能使用安全的 websockets (wss://)。
使用自签名证书,我可以通过向证书添加例外来浏览该站点。该异常不适用于 websocket,并且在 ssl 握手期间断开了连接。
相反,我创建了自己的根 CA 证书,然后为网络服务器创建了另一个签名证书。在选项 > 查看证书 > 权限中,我导入了根证书。现在 firefox 可以毫无问题地通过安全的 websocket 进行连接。
Firefox 不允许将自签名证书作为权威导入。 Windows 证书管理器允许将自签名证书导入“受信任的根证书颁发机构”列表。
【讨论】:
【参考方案2】:以防万一它可以帮助任何人,在撰写本文时(v61.0.1),OP 的答案中提到的内容并不正确。
我使用https
导航到我的 WS 服务器地址,因为任何 WS 服务器实际上都是 HTTP 服务器,然后出现通常的无效证书屏幕并允许我添加异常。之后,任何wss
连接到相同的主机和端口都是成功的。
【讨论】:
以上是关于Firefox 断开自签名证书的 websockets 连接的主要内容,如果未能解决你的问题,请参考以下文章