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

我正在尝试使用自签名证书在Linphone Android中配置TLS,以便能够与FreeSWITCH SIP服务器通信。但是SSL握手失败,出现以下错误:

通道[0x9ec3c000]:SSL握手失败:X509-证书验证失败,例如CRL、CA或签名检查失败 无法连接到[TLS://52.3.207.224:5061]

有谁能建议调试这个问题的方法吗?或者我们如何在Linphone Android中配置自签名证书

注意:我不想像下面建议的那样禁用TLS服务器证书验证

[啜饮]
验证\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/
    。然后重新启动您的设备,消息就会消失


这看起来不错,但在rootca.pem中添加ca不起作用。设备上正在生成x509握手错误。任何来自linphone团队(因为他们的社区很穷)或其他人的帮助都将受到高度赞赏。最后,它成功了。问题是生成证书时出错。并在rootca.pem中添加ca证书后注册。但是现在要实现完全身份验证,如何配置linphone进行客户端证书验证也可以。^。这就像一个符咒:)您好,您知道如何从Android应用程序禁用TLS证书验证吗?我忘了提我猜,我正在编译linphone并在服务器上处理星号。您好,您知道如何从Android应用程序禁用TLS证书验证吗?您好,您知道如何从Android应用程序禁用TLS证书验证吗?使用transport=UDP