Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android 5.x和4.x w上未找到证书路径的信任锚点。让';s在服务器上加密_Android_Ssl_Android Volley_Lets Encrypt - Fatal编程技术网

在Android 5.x和4.x w上未找到证书路径的信任锚点。让';s在服务器上加密

在Android 5.x和4.x w上未找到证书路径的信任锚点。让';s在服务器上加密,android,ssl,android-volley,lets-encrypt,Android,Ssl,Android Volley,Lets Encrypt,我的应用程序遇到了一个众所周知的问题:SSL握手上的java异常“javax.net.SSL.SSLHandshakeException:java.security.cert.CertPathValidatorException:Trust anchor for certification path not found” HTTP请求通过截击完成 我的问题是,我无法真正理解发生了什么——我的应用程序从今年3月起就没有更新过,当时一切正常。证书也有效,后端未做任何更改 此外,完全相同的应用程序在A

我的应用程序遇到了一个众所周知的问题:SSL握手上的java异常“javax.net.SSL.SSLHandshakeException:java.security.cert.CertPathValidatorException:Trust anchor for certification path not found”

HTTP请求通过截击完成

我的问题是,我无法真正理解发生了什么——我的应用程序从今年3月起就没有更新过,当时一切正常。证书也有效,后端未做任何更改

此外,完全相同的应用程序在Android 8和更高版本上运行时没有任何问题(我没有检查6和7,因为我没有合适的设备)

有没有什么想法可以错误的老版本的Android与这个问题,以及如何解决它

网址:

p、 我用“”和不带“www”都试过了,但都不适用于Android 5.0及以下版本


谢谢和问候

我猜Let's Encrypt root CA“ISRG root X1”不是这些旧Android设备上的信任存储的一部分。您可以通过在这些设备上从应用程序内部访问来检查这一点-如果失败,根CA不存在

要使验证在这种情况下工作,而不改变设备,您可以由服务器提供不同的中间证书,即由DST根CA X3颁发,而不是由ISRG根X1颁发


有关更多信息,请参阅并查找需要额外下载的第二个认证路径。

我猜Let's Encrypt root CA“ISRG root X1”不是这些旧Android设备上的信任存储的一部分。您可以通过在这些设备上从应用程序内部访问来检查这一点-如果失败,根CA不存在

要使验证在这种情况下工作,而不改变设备,您可以由服务器提供不同的中间证书,即由DST根CA X3颁发,而不是由ISRG根X1颁发


有关更多信息,请参阅并查找需要额外下载的第二个证书路径。

“证书也有效,后端未做任何更改。”-鉴于Let's Encrypt证书的有效期仅为3个月,因此不太可能未做任何更改。至少证书不会被更新,这里可能出了问题,比如跳过仅在这些旧设备上需要的基本中间证书(可能没有Let's Encrypt root证书)。您可以亲自查看您的网站,如果您在网站上没有看到任何内容,在您的问题中提供URL可能会有所帮助。@Steffen感谢您的反馈。证书被更新了几次,最后一次是今天,这可能是原因之一。在10月份最后一次更新之后,一切都正常。在我的例子中,我看到SSLLAB的唯一问题是DNS CAA是“否”。用URL更新了问题“证书也是有效的,后端没有做任何更改。”-鉴于Let's Encrypt证书的有效期仅为3个月,不太可能没有做任何更改。至少证书不会被更新,这里可能出了问题,比如跳过仅在这些旧设备上需要的基本中间证书(可能没有Let's Encrypt root证书)。您可以亲自查看您的网站,如果您在网站上没有看到任何内容,在您的问题中提供URL可能会有所帮助。@Steffen感谢您的反馈。证书被更新了几次,最后一次是今天,这可能是原因之一。在10月份最后一次更新之后,一切都正常。在我的例子中,我看到SSLLAB的唯一问题是DNS CAA是“否”。更新的问题,谢谢,我会试试这个。你知道为什么它以前使用这些手机,现在不再使用了吗?@Fellow7000:也许你在更新Let's Encrypt证书时更改了你提供的证书链。可能是,目前没有任何线索,我对SSL不太熟悉,因此需要更深入地调查。。。是否有任何方法可以检查哪些SSL被较旧的Android所接受?。。也许更好的选择是买一个普通的,并且忘记每3个月更新一次months@Fellow7000:您也可能在使用其他(您称之为“正常”的未知原因)证书时遇到类似问题。问题不是你必须经常更新它,而是更新时你可能会把设置搞砸——所以你最好有一些既定的过程,包括测试。我不认为有一个可靠的地方可以检查各种Android版本信任哪些CA,因为这不仅取决于Android版本,还取决于供应商提供的更新、客户安装的更新,可能是浏览器与应用程序等,最后,在Let's Encrypt的技术支持下,托管端发现了这个问题,但他们拒绝了,说他们遵循所有现代标准。最后,我不得不迁移到另一个证书,解决了我的问题。谢谢,我将尝试这个。你知道为什么它以前使用这些手机,现在不再使用了吗?@Fellow7000:也许你在更新Let's Encrypt证书时更改了你提供的证书链。可能是,目前没有任何线索,我对SSL不太熟悉,因此需要更深入地调查。。。是否有任何方法可以检查哪些SSL被较旧的Android所接受?。。也许更好的选择是买一个普通的,并且忘记每3个月更新一次months@Fellow7000:您也可能在使用其他(您称之为“正常”的未知原因)证书时遇到类似问题。问题不是你必须经常更新它,而是更新时你可能会把设置搞砸——所以你最好有一些既定的过程,包括测试。我不认为有一个可靠的地方可以检查各种安卓版本信任哪些CA,因为这不仅取决于安卓版本