2024 年 2 月 21 日,Mozilla终于更新了博客,由 Jan-Ivar Bruaroey 发布了主题《End-to-end-encrypt WebRTC in all browsers!》文章,以下节选部分内容。
大家好,自从 2021 年 1 月 WebRTC API 标准化后,我们就再也没有写过博客了!但现在到了 2024 年,大家都在问我们新的 API 是怎么回事?- 我们刚刚经历了 WebRTC 令人兴奋的第二阶段创新和实验,因此我们将一改以往的博客风格,在新的系列文章中介绍新的内容。
首先,别担心。WebRTC 1.0 取得了巨大成功,并没有从根本上改变。相反,它的成功促使开发人员希望将其用于各种用途。这种需求促使 W3C 继续合作,在 1.0 基线的基础上对新功能进行标准化。每个新的 API 都提供了令人兴奋的新功能,每个 API 都值得拥有自己的博文,所以让我们从其中一个开始吧:
今天的主题是 WebRTC 中的端到端加密 (E2EE)。
首先,我们应该注意的是,WebRTC 已经通过 DTLS 进行了点对点加密,因此除了保护数据免受您的服务可能作为 WebRTC 端点使用的任何中间件的影响外,没有必要使用额外的 API。话虽如此…
你知道所有主流浏览器都有端到端加密 WebRTC 调用的 API 吗?它们都有!需要注意的是,目前不同浏览器的 API 形状略有不同。但不要绝望!我们将弥补这一缺陷。如果您和我们在一起有一段时间了,您就会知道我们以前来过这里,这就是香肠的制作过程。
A worker-first API
Chromium 很早就尝试过为此提供 API。不幸的是,早期的 API 在主线程上暴露了媒体管道,鉴于 JavaScript 事件模型的特性,这可能会使其面临卡顿的风险。工作组从这些试验中吸取了教训,最终确定了 “worker-first “的 API,这意味着在工作进程中使用 API 比在主线程中使用 API 更简单。
这个符合标准的 API 就是 RTCRtpScriptTransform
,它能让你在发送前转换编码帧,并在接收时返回编码帧。最明显的用例是 E2EE,但它也可用于添加元数据等其他用途。
关于 RTCRtpScriptTransform
的操作,运行原理及相关示例,请阅读原文体验,地址:https://blog.mozilla.org/webrtc/end-to-end-encrypt-webrtc-in-all-browsers/
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。