Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在硬件设备上保护WebSocket_Javascript_C#_Ssl_Websocket - Fatal编程技术网

Javascript 在硬件设备上保护WebSocket

Javascript 在硬件设备上保护WebSocket,javascript,c#,ssl,websocket,Javascript,C#,Ssl,Websocket,我有一个通过WebSocket与浏览器进行通信的硬件设备。问题是我想要一个安全的连接,不幸的是浏览器没有连接到自签名证书。 问题是每个硬件设备都可以有另一个IP,并且证书仅限于域上。 我无法为每个硬件购买证书。。那我该怎么办 问题是我想要一个安全的连接,不幸的是浏览器没有连接到自签名证书 证书用于安全地标识对等方。正确的身份识别是必要的,以确保中间人攻击是不可能的。因此,在不同机器的100秒内共享同一证书是没有意义的,而且无论如何,您都无法保证同一私钥的安全 另一种选择是自签名证书。但在这种情况

我有一个通过WebSocket与浏览器进行通信的硬件设备。问题是我想要一个安全的连接,不幸的是浏览器没有连接到自签名证书。 问题是每个硬件设备都可以有另一个IP,并且证书仅限于域上。 我无法为每个硬件购买证书。。那我该怎么办

问题是我想要一个安全的连接,不幸的是浏览器没有连接到自签名证书

证书用于安全地标识对等方。正确的身份识别是必要的,以确保中间人攻击是不可能的。因此,在不同机器的100秒内共享同一证书是没有意义的,而且无论如何,您都无法保证同一私钥的安全

另一种选择是自签名证书。但在这种情况下,浏览器不会在没有警告的情况下进行连接,因为如果浏览器选择中间人攻击,攻击将是微不足道的。这意味着用户必须明确承认此证书是受信任的,并且您必须教育用户如何使用各种浏览器来实现这一点

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

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


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

其他公司如何处理需要安全连接的硬件设备?他们有证书吗?我们可以为使用任何IP创建pfx证书文件吗。我有多个IP地址,但我需要创建一个pfx并将其分发给所有人。因此,当我在所有这些机器中键入“https://ipaddress”时,浏览器不会要求接受吗?1.问题是,如果您与WebSocket通信,浏览器不会给您接受自签名证书的机会。对于https则不同。2.对于客户来说,设备IP地址必须是可编辑的,如果他想在他的网络中使用设备,并且该设备的地址应该是192.168.55.123,那么他就有可能这样做,这是正常的方法。那么这一点是什么呢。如果ip地址始终是另一个并且可以更改,您如何为此设备创建证书。@OrkunBekar:在所有设备上使用相同的证书是一个坏主意,因为这样标识部分就无法真正工作,您必须在任何地方使用相同的私钥。但是,如果没有太多设备,则可以这样做,因为您可以将多个IP地址放入证书。@Franki1986:是的,您需要首先以受信任的身份导入证书,可以手动导入,也可以通过使用https访问站点并为证书创建异常来导入。之后,它也应该与wss://一起工作,因为wss://只是https连接中的一个ws://连接。通过https请求接受证书是一个很好的解决方法!谢谢但是我是否可以从客户端(浏览器)显示证书无效的错误?我的意思是,如果只是无法建立连接,用户并不知道问题出在哪里。因此,因为它是一个浏览器的东西,如何知道证书是否不会被浏览器接受(在javascript中)?