【问题标题】:Nodejs/Socketio level of SSL certificate required需要 Nodejs/Socketio 级别的 SSL 证书
【发布时间】:2015-01-14 14:47:12
【问题描述】:
我想使用带有 socketio 和 nodejs 的安全 websocket,以便我的更多移动流量/企业网络可以使用 websocket。
大多数浏览器需要什么级别的 SSL 证书才能接受证书/服务器为可信赖的。据我所知,浏览器没有用于审查/允许 websocket 的 SSL 连接的界面,那么他们如何处理他们不信任的证书?他们只是拒绝连接吗?
示例列表中需要什么最低级别:https://www.123-reg.co.uk/ssl-certificates/,有没有人研究过浏览器如何处理 websocket 连接中的各种 SSL 级别?
【问题讨论】:
标签:
node.js
ssl
https
socket.io
【解决方案1】:
保护 websocket 与保护 HTTP 连接没有什么不同。 TLS 握手过程将首先发生以建立安全连接,然后将通过此安全链接建立 HTTP 连接。对于 websocket,将采取将 HTTP 会话升级到套接字的附加步骤。这意味着任何适用于 HTTPS 的东西都适用于 WSS。 This link 有一个有用的图表。
我不确定您的链接中的“123 SSL”和“域 SSL”级别之间有什么区别,如果针对您的域颁发较低的证书可能没问题。通常,您需要“域级别验证”或更高级别 - 足以保护客户端和服务器之间的流量。只要根证书是受信任的(通常是您购买证书的公司),浏览器就会接受它而不会发出任何消息或警告。对于 WSS、API 和与移动应用程序的通信,这会很好。顶级证书(Extended Validation 或 EV)在浏览器中具有额外的安全指示器(通常是绿色地址栏或锁)的额外优势,非常适合浏览器站点,但对于纯 WSS 或 API 客户端没有多大用处。