问题描述
WebRTC中的对等方如何进行身份验证?
解决方法
WebRTC中的
DTLS使用自签名证书。 RFC 5763包含细节,简而言之,证书指纹与SDP的a = fingerprint行中提供的指纹匹配。
,正如Patrick Mevzek的评论所提到的:
如果信任/接受自签名证书,则不依赖于DTLS或TLS。
这仅取决于对等方的受信任证书。如果客户端或服务器的 证书路径/链包含一个证书,该签名可以由受信任的证书验证,然后假定它是受信任的。可能还有一些其他检查,例如有效时间或密钥使用或主机名。可信证书通常存储在“信任库”中。 因此,如果您的服务器应使用此类自签名证书,则将该自签名添加到客户端的信任库中。如果客户端然后仅接收该自签名证书作为路径,则会检查签名者(在这种情况下,证书本身)是否在信任存储区中。
这种自签名证书不起作用的是,其他尚未将证书添加到其信任存储区的客户端将信任该服务器。
像Webrtc这样的p2p系统中的对等方如何进行身份验证?
如果这些对等方将对方的证书添加到他们前面的信任库中,那么他们将彼此信任。
他们需要CA颁发的证书吗?
如果您不能在前面添加对方的证书,则需要由已经在对等方的信任库中的CA(证书)签名的证书。