出现SSLHandshakeException通过互联网

出现SSLHandshakeException通过互联网

问题描述:

连接时,在我的Android应用我可以连接到这个网址与本地的无线网络没有任何问题:出现SSLHandshakeException通过互联网

https://didgahmobile.chargoon.net/ 

然而,当我试图通过互联网来连接例如使用移动数据或通过代理连接,我在android应用中获得SSLHandshakeException。桌面和移动Chrome浏览器也显示消息"Your connection is not private"

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. 

我检查了服务器防火墙,并且没有IP地址的限制。

我也有一个不同的情况与另一个https的网址。在这种情况下,我第一次通过本地wifi连接后,我可以通过代理或移动日期连接,但在全新安装后连接或使用移动数据或代理清除数据时抛出相同的SSLHandshakeException

那么问题是什么?

检查这一点,如果你usign Android的7,因为你必须添加一些配置:

<network-security-config> 
     <domain-config> 
      <domain includeSubdomains="true">yourDomain.com</domain> 
          <!-- like: didgahmobile.chargoon.net --> 
      <trust-anchors> 
        <!-- Trust preinstalled CAs --> 
        <certificates src="system" /> 
        <!-- Additionally trust user added CAs --> 
        <certificates src="user" /> 
      </trust-anchors> 
     </domain-config> 
</network-security-config> 

<application 
     android:name="yourappname" 
     ... 
     android:networkSecurityConfig="@xml/network_security_config"> 

来源:Trusted certificates

+0

我在所有的Android版本中这个问题。然而,我用这个解决方案,它并没有解决在Android 8和更早的问题。谢谢。 –