小编jos*_*eph的帖子

java.security.cert.CertPathValidatorException:未找到证书路径的信任锚.Android 2.3

在我的服务器(生产服务器)中,我有一个goDaddy ssl证书.我有iOS和Android应用程序连接服务器,iOS连接没有问题,Android连接版本4.*一切都很好,但设备2.3.*我总是得到SSLHandshakeException.

我确实喜欢Android开发者页面(https://developer.android.com/training/articles/security-ssl.html).

我已经在stackoverflow中看到了类似的线程(这里),但没有人帮忙.

然后我看到这个线程谈论扩展密钥用法,但在调试时我得到以下信息:

[2]: OID: 2.5.29.37, Critical: false
Extended Key Usage: [ "1.3.6.1.5.5.7.3.1", "1.3.6.1.5.5.7.3.2" ]
Run Code Online (Sandbox Code Playgroud)

所以我猜证书不是"强制"扩展密钥用法.

同样在线程有一些其他可能的原因,如日期/时间是完全地错了,至极都是不存在的.

考虑到这一点,我现在不知道问题可能在哪里.

有什么建议?

编辑: StackTrace如下:

08-04 16:54:30.139: W/System.err(4832): Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
08-04 16:54:30.149: W/System.err(4832):     at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:161)
08-04 16:54:30.149: W/System.err(4832):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:664)
08-04 16:54:30.149: W/System.err(4832):     at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native Method)
08-04 16:54:30.159: W/System.err(4832):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:474)
Run Code Online (Sandbox Code Playgroud)

java security ssl android android-sdk-2.3

11
推荐指数
3
解决办法
5万
查看次数

标签 统计

android ×1

android-sdk-2.3 ×1

java ×1

security ×1

ssl ×1