Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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
Ssl 参与p2p通信的对等方如何相互认证?_Ssl_Webrtc_Tls1.2_Dtls_Openwebrtc - Fatal编程技术网

Ssl 参与p2p通信的对等方如何相互认证?

Ssl 参与p2p通信的对等方如何相互认证?,ssl,webrtc,tls1.2,dtls,openwebrtc,Ssl,Webrtc,Tls1.2,Dtls,Openwebrtc,WebRTC中的对等方如何相互验证?WebRTC中的DTL使用自签名证书。有详细信息,简而言之,证书指纹与SDP的a=指纹行中提供的指纹匹配。正如Patrick Mevzek的评论所述: 如果自签名证书受信任/接受,则它不依赖于DTL或TLS 这仅取决于对等方的受信任证书。如果客户端或服务器的 证书路径/链包含一个证书,该证书的签名可以由受信任的证书验证,然后假定它是受信任的。可能还有一些额外的检查,如有效时间、密钥使用情况或主机名。受信任的证书通常存储在“信任存储”中。 因此,如果您的服务器应

WebRTC中的对等方如何相互验证?

WebRTC中的DTL使用自签名证书。有详细信息,简而言之,证书指纹与SDP的a=指纹行中提供的指纹匹配。

正如Patrick Mevzek的评论所述:

如果自签名证书受信任/接受,则它不依赖于DTL或TLS

这仅取决于对等方的受信任证书。如果客户端或服务器的 证书路径/链包含一个证书,该证书的签名可以由受信任的证书验证,然后假定它是受信任的。可能还有一些额外的检查,如有效时间、密钥使用情况或主机名。受信任的证书通常存储在“信任存储”中。 因此,如果您的服务器应该使用这种自签名证书,请将该自签名证书添加到客户端的信任存储中。如果客户端随后只接收到作为路径的自签名证书,它将检查签名者(在这种情况下是证书本身)是否在信任存储中

这种自签名证书不起作用的是,没有将该证书添加到其信任存储的其他客户端将信任该服务器

像Webrtc这样的p2p系统中的对等方如何相互认证

如果这些对等方提前将另一方的证书添加到其信任存储中,那么它们将相互信任

他们需要CA的证书吗


如果您不能提前添加另一方的证书,那么您需要由CA(证书)签名的证书,该CA(证书)已经存在于对等方的信任存储中。

RFC只是关于DTL的一次特定使用。最新的DTLS规范本身就是RFC6347,它显然没有提到强制使用自签名证书。与TLS一样,它可以与“任何”证书一起工作。@PatrickMevzek:是和否。问题标题一般是关于DTL的,但正文特别提到WebRTC。在这个狭窄的上下文中,这里的答案是正确的。根据我在WebRTC p2p场景中的理解,证书不会添加到信任存储中。相反,对等方(自签名)证书的指纹在SDP中公布,因此可以在特定调用的上下文中用于证书验证。“像Webrtc”让我相信,这是关于DTL与TLS不同的x509的一般问题。在我看来,这没有什么区别,x509需要信任。当然,只有提出问题的人才知道被问到了什么:-)。我完全同意这个问题太不具体。但是,在WebRTC的情况下,证书不会添加到信任存储中,这与您在问题中描述的相反。只需将证书指纹与SDP中指定的指纹进行比较即可检查信任。如果关注“信任存储”,则可以。如果您专注于“提前建立信任”,无论是通过一个完整的信任证书,还是这样一个受信任证书的指纹,那么差异并没有那么大。我在回答中的观点是,你需要信任,无论是通过普通CA还是通过提前交换受信任的证书,甚至可能只是指纹。我不太理解你关于我应该关注什么和不应该关注什么的论点。我试图在您的回答中指出一个事实错误(关于WebRTC中身份验证的工作原理),希望它得到修复。如果你能修改这个问题来修正这一部分,而不是争论一个人不应该关注这个问题,而应该关注你答案的另一部分,这不是更好吗?这个问题对我来说太不清楚,太宽泛了。在标题中,您询问了DTL的一般情况,这是一个协议,不仅用于WebRTC。在问题主体中,您更关注WebRTC,但不是排他性的。请注意,这些细节是相关的,因为DTL可以处理与TLS类似的各种身份验证。TLS也不需要CA,但可以处理自签名证书,甚至完全省略证书,以支持PSK或其他身份验证方法。