news 2026/9/29 16:34:09

WEBRTC DTLSv1.2 加密示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WEBRTC DTLSv1.2 加密示例



1.1.计算共享密钥:

from cryptography.hazmat.primitives.asymmetric import x25519
from cryptography.hazmat.backends import default_backend
import binascii

private_key_bytes = binascii.unhexlify("7f6fb1acf6fcee90c8090859a6c1a64d90d49b65002ccc880e53b1a409227085")
public_key_bytes = binascii.unhexlify("2477d8811927e44377c0cabd9ce3723d34c0d38750b370ff34ac31711cc69a6f")

priv_key = x25519.X25519PrivateKey.from_private_bytes(private_key_bytes)
pub_key = x25519.X25519PublicKey.from_public_bytes(public_key_bytes)
# 计算共享密钥
shared = priv_key.exchange(pub_key)

# 输出
print("共享密钥:", binascii.hexlify(shared).decode())

premaster_secret (32 bytes):062d2be5a1adafc05422439468f38ec20f64c34ffc0259916b6408821d5dcc4c

1.2.计算EMS REAL SEED

ref:rfc5246


### EMS REAL SEED (32 bytes): 624eae1953f714909e5a78e8a45faaad82b0f80e4f964f0a021114f446db07f6 ###

1.3. USED LABEL: extended master secret

1.4 有了上面3个参数 就可以计算master secret了
计算session->secret
session->secret (48 bytes): 7726416b5c12ca53a5e023bd7c731f74034d2b6c8e702cee0770891e2f03848713d7ec9e58f7a7461cdc98863ab69bcc

1.5 计算EXTRACTOR-dtls_srtp
输入master secret key : 7726416b5c12ca53a5e023bd7c731f74034d2b6c8e702cee0770891e2f03848713d7ec9e58f7a7461cdc98863ab69bcc
输入 prf label: EXTRACTOR-dtls_srtp
输入 clientRandom+serverRandom seed d7497ecab8f2b421485ba36c61a8483c23f7e665272410422e183bb99b4cf9f769b78d66e67a1783dd128961dcf06e95db9b2293229da5135f0b02f1ea49e3e1


output length (dtls_buffer): 60 bytes
dtls_buffer: b4201281f6ed36230a448b6558aa1355ccf19e8b20d501950827514f37ace2422706d67c762cd9a61bcd79b0e5f26abe51e34e1b61cab1c10059468d

/////////////////////////////////////////////

client_write_key = b4201281f6ed36230a448b6558aa1355 server_write_key = ccf19e8b20d501950827514f37ace242 client_salt = 2706d67c762cd9a61bcd79b0e5f2 server_salt = 6abe51e34e1b61cab1c10059468d

IV 6abe51e34e1b61cab1c10059468d0000

用ccf19e8b20d501950827514f37ace242


的到用于加密srtp的密钥流

//////////////////////////////////////////

对比源码的打印nyxc [AES-ICM] context = 0x7dfd9800e800 AES KEY: 1eb4b0384e1333adaa624ea67e1823e6
对比下抓包数据


实际的抓包后面多了6d0a584ec95ef5b080
cc
相当于校验码 这部分不展开.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 9:47:49

YOLO11检测中的模型A/B测试方法,讲解如何在线下对比多个模型的检测效果

🎬 Clf丶忆笙:个人主页 🔥 个人专栏:《YOLOv11全栈指南:从零基础到工业实战》 ⛺️ 努力不一定成功,但不努力一定不成功! 文章目录 一、为什么我们需要线下A/B测试:不仅仅是“看哪个更好” 1.1 从“感觉”到“数据”:决策的基石 1.2 线下A/B测试的核心价值:风险…

作者头像 李华
网站建设 2026/9/29 16:33:34

UniFormerV2实战:如何用ViT预训练模型快速搭建高效视频理解网络

UniFormerV2实战:基于ViT预训练模型的视频理解高效解决方案 视频理解技术正逐渐成为人工智能领域的热点研究方向,从智能监控到内容审核,从医疗影像分析到自动驾驶,这项技术正在重塑多个行业的运作方式。然而,传统视频处…

作者头像 李华
网站建设 2026/9/29 16:34:08

当后轮也开始玩转向:4WS4WD的横摆稳定黑科技

4WS4WD无人车横摆稳定性控制 通过滑模控制理论对后轮转角和直接横摆力矩进行集成控制,考虑前后轴荷及路面附着系数实现转矩分配,提高车身稳定性。 carsim/simulink联合仿真 方向打死油门到底,车尾突然开始画龙——这种惊悚场面在…

作者头像 李华
网站建设 2026/8/23 9:47:55

手把手教你使用这些在线工具:从JSON格式化到AI导航,程序员必备技能

程序员效率革命:5类智能工具链实战指南 第一次接手服务器日志分析任务时,我盯着满屏压缩的JSON数据发了半小时呆。直到同事扔给我一个在线工具链接,三秒钟就让杂乱的数据现出了原形。这个瞬间让我意识到:现代开发者的核心竞争力&a…

作者头像 李华
网站建设 2026/8/23 9:47:59

ESP32异步MQTT客户端:QoS2/SSL/WSS全协议支持

1. PsychicMqttClient:面向ESP32全功能异步MQTT客户端深度解析1.1 项目定位与工程价值PsychicMqttClient并非又一个轻量级MQTT封装,而是在ESP-IDF原生MQTT客户端基础上构建的工业级异步通信中间件。其核心价值在于填补了ESP32生态中长期存在的三大技术空…

作者头像 李华