javascript – 在硬件设备上保护websockets

我有一个通过websockets与浏览器进行通信的硬件设备.问题是我想要一个安全的连接,不幸的是浏览器没有连接到自签名证书.

问题是每个硬件设备都可以拥有另一个IP,并且域上的证书是有限的.

我不能为每个硬件购买证书..那么我该怎么办? 最佳答案

The problem is that I want a secure connection, unfortunately browsers don’t connect to self signed certificate.

证书用于安全地识别对等方.必须正确识别以确保不会发生中间人攻击.因此,在100个不同的机器中共享相同的证书是没有意义的,并且无论如何您都会遇到保持相同私钥安全的问题.

替代方案是自签名证书.但是在这种情况下,浏览器不会在没有警告的情况下进行连接,因为如果他们中间人攻击是微不足道的.这意味着用户必须明确地将此证书确认为受信任,并且您必须教育用户如何使用各种浏览器完成此操作.

如果浏览器和设备都在一个控件下(例如在公司范围内推出),您可以使用自己的PKI结构,其中所有证书都由您自己的CA颁发,并且所有浏览器都信任此CA.

the problem is that every hardware device can have another IP, and certificates are limited on domains.

不,也可以生成证书来识别IP地址.您通常不会通过公共CA获取这些证书,但私有CA可以颁发此类证书,并且自签名证书也可以.当然,如果IP在很长一段时间内保持不变,那么使用IP地址而不是名称才有意义.

点赞