resip协议栈下使用TLS


TLS在resiprocate的使用有几个方面:

1) 作为TLS服务端, 如repro;

2) 签名验证来自TLS客户端的客户端证书(1.8版本以上);

3) 作为TLS客户端;


支持的安全传输协议, repro中默认为 TLS v1

SSL(SecureSocketsLayer安全套接字层): v23

TLS(TransportLayerSecurity传输层安全): v1


证书类型和命名规则

resip协议栈使用了5种类型证书

1) 根证书

证书颁发机构发布的数字证书

root_cert_<name>.pem
如: root_cert_cacert.org.pem


2) 服务器证书和私钥

服务器证书和私钥, 依赖域名

domain_cert_<domainname>.pem
domain_key_<domainname>.pem
如: domain_cert_xmkk.net.pem
如: domain_key_xmkk.net.pem


3) 客户端证书和私钥

客户端证书和私钥

user_cert_<username>.pem
user_key_<username>.pem
如: user_cert_fenng@xmkk.net.pem
如: user_key_fenng@xmkk.net.pem


使用TLS传输协议

代码操作步骤:

a) 开启 USE_SSL 编译开关;

b) 创建 Security 类对象, 并加载相关证书;

c) 创建 sip stack 类对象, 并加载security对象;

d) 添加TLS传输层支持.


作为服务端程序使用到证书: 根证书, 服务器证书, 服务器私钥;

作为客户端程序使用的证书: 根证书;