首页 > 解决方案 > WebRTC ICE-Stun 消息完整性属性

问题描述

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

RFC-5245指出:

为了计算检查的消息完整性,代理使用从 SDP 从其对等方获知的远程用户名片段和密码。本地用户名片段由其自己的候选者的代理直接知道。

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

我尝试了不同的 ice-username:ice-password 组合来形成密钥,但似乎没有一个能够生成与来自 chrome 的绑定请求中的消息完整性属性相同的哈希值。

有谁知道 HMAC 密钥是如何形成的?

标签: google-chromewebrtchmacstunhmacsha1

解决方案


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

有关如何计算散列的信息,请参阅RFC 5389 。


推荐阅读