WebRTC ICE-Stun 消息完整性属性

WebRTC ICE-Stun message-integrity attribute

在验证来自 Chrome 的 STUN 绑定请求的 MESSAGE-INTEGRITY 属性时,我对 HMAC-SHA1 密钥使用什么? (chrome 处于 ICE-CONTROLLING 角色,因为 SDP 提议来自 ICE-LITE 对等方)

RFC-5245 状态:

To compute the message integrity for the check, the agent uses the remote username fragment and password learned from the SDP from its peer. The local username fragment is known directly by the agent for its own candidate.

但它没有说明代理如何将这些连接起来形成 HMAC SHA1 密钥

我尝试了 ice-username:ice-password 的不同组合来形成密钥,但是 none 似乎能够生成与来自 [= 的绑定请求中的消息完整性属性相同的哈希值23=].

有谁知道HMAC密钥是怎么形成的?

您的请求将使用您当地的 ice-pwd 签名,并且响应必须使用它签名(如 ħere 所述)。

请参阅 RFC 5389 了解如何计算哈希值。