说明
libsrtp主要是是用来加密rtp/rtcp的;也可以加密任何文本,注意前面的rtp_协议的字节是不加密的;和AES加密没有什么过程区别
源码编译
cd /home/fengyuzaitu
wget https://github.com/cisco/libsrtp/archive/master.zip .
unzip master.zip
cd libsrtp-master
./configure
make
make runtest
make install
参考源码中的文档:libsrtp.pdf
1.7 Example Code
例子非常实用,但是没有错误的检查。假设发送的数据流中***c已经正确的被赋值,并且可以使用 get_rtp_packet和send_srtp_packet().
get_rtp_packet将RTP包保存到缓存中,返回具体的长度,最后一个将缓存中的数据发送出去。srtp_protect负责数据的加密
srtp_t session;
srtp_policy_t policy;
uint8_t key[30];
// initialize libSRTP
srtp_init();
// set policy to describe a policy for an SRTP stream
crypto_policy_set_rtp_default(&policy.rtp);
crypto_policy_set_rtcp_default(&policy.rtcp);
policy.***c = ***c;
policy.key = key;
policy.next = NULL;
//

本文介绍了libsrtp库用于RTP/RTCP数据加密的方法,指出其也可用于加密任意文本,但RTP协议头未加密。详细步骤包括源码下载、编译、安装及示例代码的解析,展示了如何初始化libSRTP、设置加密策略、分配和初始化SRTP会话,以及如何进行RTP包的加密和发送。
最低0.47元/天 解锁文章
650

被折叠的 条评论
为什么被折叠?



