当前位置: 首页 > 知识库问答 >
问题:

Linphone Android:带有自签名证书的TLS握手错误

白昊东
2023-03-14

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

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

谁能建议如何调试这个问题?或者如何在Linphone Android中配置自签名证书。

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

[sip]VERIFY_Server_CERTS=0

共有1个答案

淳于昊然
2023-03-14

因为自签名证书不能被那些第三方CAs识别,所以官方的linphone应用程序预配置了自签名证书。

linphone使用它自己的根CA存储列表,在该列表中,当linphone从您的sip服务器收到证书时,它将使用服务器证书来验证服务器证书。

如果您不想禁用服务器证书验证(避免中间人攻击很好),并且由于linphone预先配置的CA无法验证您的证书,您必须创建自己的CA并将其添加到linphone的CA列表中。

创建自己的SSL证书颁发机构(并转储自签名证书)

在Android Linphone中使用自签名证书

 类似资料:
  • 问题内容: 我正在尝试使用自签名服务器证书建立TLS连接。 我使用以下示例代码生成了证书:http : //golang.org/src/pkg/crypto/tls/generate_cert.go 我相关的客户端代码如下所示: 以及类似的服务器代码: 因为服务器证书是自签名的,所以对于服务器和客户端CA_Pool使用相同的证书,但这似乎不起作用,因为我总是会收到此错误: 我怎么了 问题答案:

  • 问题内容: 我的任务是实现一个定制/独立的Java Web服务器,该服务器可以在同一端口上处理SSL和非SSL消息。 我已经实现了NIO服务器,并且对于非SSL请求,它可以很好地工作。我在SSL方面花了很长时间,可以真正使用一些指导。 到目前为止,这是我所做的。 为了区分SSL消息和非SSL消息,我检查了入站请求的第一个字节,看看它是否是SSL / TLS消息。例: 在parseTLS()方法中,

  • 我不知道我到底需要在哪里包含客户机证书。现在,我的第一个问题是我不信任服务器。我尝试使用默认的Java密钥库文件(cacerts),其中包含Thawte和Digicert,这些是我试图与之通信的服务器的根权限。我使用

  • 问题内容: 我遇到客户端https请求的问题。 片段可以如下所示: 我得到的是错误:证书链中的自签名证书。 使用邮递员时,我可以导入客户端证书和密钥,并且可以毫无问题地使用它。有没有可用的解决方案?我还希望对邮递员如何处理证书和工作方式有所了解。 问题答案: 根据您的问题,我想您正在使用SSL通讯的自签名证书进行开发。 如果是这种情况,请在您正在运行节点的任何地方或直接使用 这指示节点允许不信任的

  • 问题内容: 我正在连接到以前成功使用过的Web服务,但是现在他们已经更改了主机名并向我发送了两个.pem文件。一个是CA,另一个是我的新客户证书。 (我将Java 1.5,Spring + Spring Web Services与Apache httpclient一起使用,但是我怀疑我的问题是证书,密钥和SSL本身。) 我已经导入了.pem文件以及从Firefox导出到cacerts中的主机的.c

  • 我正在go中运行https web服务器。我正在使用angular web应用程序(Chrome浏览器)对其进行测试,该应用程序可以对web服务器进行ajax调用。 如果我不断地点击网络服务器,一切似乎都正常。但每当我让它闲置一段时间并点击web服务器时,来自浏览器的ajax调用都不会得到响应。我几乎总是在服务器日志中看到此日志行。 我可以确认IP地址是我的IP地址。 我像这样启动我的https服