尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

WEBRTC DTLSv1.2 加密示例

WEBRTC DTLSv1.2 加密示例 1.1.计算共享密钥from cryptography.hazmat.primitives.asymmetric import x25519from cryptography.hazmat.backends import default_backendimport binasciiprivate_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):062d2be5a1adafc05422439468f38ec20f64c34ffc0259916b6408821d5dcc4c1.2.计算EMS REAL SEEDref:rfc5246### EMS REAL SEED (32 bytes): 624eae1953f714909e5a78e8a45faaad82b0f80e4f964f0a021114f446db07f6 ###1.3. USED LABEL: extended master secret1.4 有了上面3个参数 就可以计算master secret了计算session-secretsession-secret (48 bytes): 7726416b5c12ca53a5e023bd7c731f74034d2b6c8e702cee0770891e2f03848713d7ec9e58f7a7461cdc98863ab69bcc1.5 计算EXTRACTOR-dtls_srtp输入master secret key : 7726416b5c12ca53a5e023bd7c731f74034d2b6c8e702cee0770891e2f03848713d7ec9e58f7a7461cdc98863ab69bcc输入 prf label: EXTRACTOR-dtls_srtp输入 clientRandomserverRandom seed d7497ecab8f2b421485ba36c61a8483c23f7e665272410422e183bb99b4cf9f769b78d66e67a1783dd128961dcf06e95db9b2293229da5135f0b02f1ea49e3e1output length (dtls_buffer): 60 bytesdtls_buffer: b4201281f6ed36230a448b6558aa1355ccf19e8b20d501950827514f37ace2422706d67c762cd9a61bcd79b0e5f26abe51e34e1b61cab1c10059468d/////////////////////////////////////////////client_write_key b4201281f6ed36230a448b6558aa1355 server_write_key ccf19e8b20d501950827514f37ace242 client_salt 2706d67c762cd9a61bcd79b0e5f2 server_salt 6abe51e34e1b61cab1c10059468dIV 6abe51e34e1b61cab1c10059468d0000用ccf19e8b20d501950827514f37ace242的到用于加密srtp的密钥流//////////////////////////////////////////对比源码的打印nyxc [AES-ICM] context 0x7dfd9800e800 AES KEY: 1eb4b0384e1333adaa624ea67e1823e6对比下抓包数据实际的抓包后面多了6d0a584ec95ef5b080cc相当于校验码 这部分不展开.
返回列表