android - javax.net.ssl.SSLException : Not trusted server certificate 异常

标签 android sockets

我正在尝试使用 XML 解析器从 Url(“https://....etc”)读取 XML 数据。 但我面临以下错误。 这是我的日志。

04-08 16:34:23.017: WARN/System.err(8052): javax.net.ssl.SSLException: Not trusted server certificate

04-08 16:34:23.098: WARN/System.err(8052): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:371)

04-08 16:34:23.107: WARN/System.err(8052): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:92)

04-08 16:34:23.107: WARN/System.err(8052): at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:381)

04-08 16:34:23.107: WARN/System.err(8052): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:164)

04-08 16:34:23.116: WARN/System.err(8052): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)

04-08 16:34:23.116: WARN/System.err(8052): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)

04-08 16:34:23.116: WARN/System.err(8052): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)

04-08 16:34:23.116: WARN/System.err(8052): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)

04-08 16:34:23.127: WARN/System.err(8052): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)

04-08 16:34:23.127: WARN/System.err(8052): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)

04-08 16:34:23.127: WARN/System.err(8052): at androidexperts.apps.prontonnetworks.xmlparser.(xmlparser.java:108)

04-08 16:34:23.196: WARN/System.err(8052): at androidexperts.apps.prontonnetworks.prontonnetworks$HandlerServer.doInBackground(prontonnetworks.java:486)

04-08 16:34:23.232: WARN/System.err(8052): at androidexperts.apps.prontonnetworks.prontonnetworks$HandlerServer.doInBackground(prontonnetworks.java:1)

04-08 16:34:23.257: WARN/System.err(8052): at android.os.AsyncTask$2.call(AsyncTask.java:185)

04-08 16:34:23.287: WARN/System.err(8052): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)

04-08 16:34:23.307: WARN/System.err(8052): at java.util.concurrent.FutureTask.run(FutureTask.java:137)

04-08 16:34:23.317: WARN/System.err(8052): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)

04-08 16:34:23.317: WARN/System.err(8052): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)

04-08 16:34:23.317: WARN/System.err(8052): at java.lang.Thread.run(Thread.java:1096)

04-08 16:34:23.317: WARN/System.err(8052): Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found. 04-08 16:34:23.327: WARN/System.err(8052): at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:168)

04-08 16:34:23.327: WARN/System.err(8052): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:366)

04-08 16:34:23.337: WARN/System.err(8052): ... 18 more

04-08 16:34:23.337: WARN/System.err(8052): Caused by: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.

04-08 16:34:23.377: WARN/System.err(8052): at org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:149)

04-08 16:34:23.377: WARN/System.err(8052): at java.security.cert.CertPathValidator.validate(CertPathValidator.java:202)

04-08 16:34:23.377: WARN/System.err(8052): at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:164)

有人知道吗?

最佳答案

您正尝试通过 HTTPS URL 连接,而您运行代码的设备不信任该站点提供的 SSL 证书。我建议你阅读 this question on setting up trust in the Apache HTTP Client .

关于android - javax.net.ssl.SSLException : Not trusted server certificate 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5594189/

相关文章:

android - RecyclerView 项目背景可绘制不会将尺寸调整为内容大小

android - 将主题应用于 Android 中的 Activity ?

c# - 将 Socket.io 1.0 客户端与 c# 程序集成

android - 如何测试包含 edittext、button 和 listview 的 android 项目?

java - 显示不确定的进度指示器

android - 如何在我的应用程序的文件资源管理器文件夹中添加应用程序图标

c# - Boost::Asio 写锁

java - 向套接字发送字符串命令

c - 使用套接字将相同的变量发送到多个客户端进程

node.js - 使用套接字代替ajax进行客户端/服务器通信