Linphone Android:具有自签名证书的TLS握手错误
我正在尝试使用自签名证书在Linphone Android中配置TLS,以便能够与FreeSWITCH SIP服务器通信。但是SSL握手失败,出现以下错误: 通道[0x9ec3c000]:SSL握手失败:X509-证书验证失败,例如CRL、CA或签名检查失败 无法连接到[TLS://52.3.207.224:5061] 有谁能建议调试这个问题的方法吗?或者我们如何在Linphone Android中配置自签名证书 注意:我不想像下面建议的那样禁用TLS服务器证书验证 [啜饮]Linphone Android:具有自签名证书的TLS握手错误,android,ssl,linphone,Android,Ssl,Linphone,我正在尝试使用自签名证书在Linphone Android中配置TLS,以便能够与FreeSWITCH SIP服务器通信。但是SSL握手失败,出现以下错误: 通道[0x9ec3c000]:SSL握手失败:X509-证书验证失败,例如CRL、CA或签名检查失败 无法连接到[TLS://52.3.207.224:5061] 有谁能建议调试这个问题的方法吗?或者我们如何在Linphone Android中配置自签名证书 注意:我不想像下面建议的那样禁用TLS服务器证书验证 [啜饮] 验证\u serv
验证\u server\u certs=0这是因为官方linphone应用程序预配置的第三方CA无法识别自签名证书 linphone使用自己的根CA存储列表,当linphone从sip服务器收到证书时,将在其中验证服务器证书 如果您不想禁用服务器证书验证(最好避免中间人攻击),并且由于没有预配置的linphone可以验证您的证书的CA,您必须创建自己的CA并将其添加到linphone的CA列表中。 您可以在linphone android源代码中找到CA列表:
res/raw/rootca.pem
只需将CA添加到其中并重新编译。
我对linphone不太熟悉,但我认为这是一个不错的选择
一些有用的链接:
此问题有不同的解决方案:
- 如果您有Linphone服务器的shell访问权限,您可以安装一个合适的证书,或者购买一个证书,或者(我建议)使用一个免费的证书
- 如果不可能,请将自签名证书安装到您的Android密钥库中:下载证书(如果Linphone提供web gui,您可以使用Chrome以PEM格式下载证书,方法是单击地址栏中的锁定符号),然后将其放在SD卡上。然后转到Android设置/安全性/证书管理/从存储安装并选择您的文件。但是,您可能会收到一个永久通知,您的网络可能会受到监视
- 如果您不需要该通知并且具有root访问权限,请按照上一步操作,将新添加的文件从
移动到/data/misc/keychain/cacerts added/
。然后重新启动您的设备,消息就会消失/system/etc/security/cacerts/