android - 未找到证书路径异常的信任 anchor

标签 android tomcat exception ssl https

您好,我正在尝试使用 https 在 tomcat 服务器和 android 应用程序之间建立 ssl 通信

1- 我使用 keytool 为 tomcat 创建了一个 keystore 文件

2-然后生成pem文件,配合keytool生成BKS文件

3- tomcat 服务器工作正常

基本上我是按照这篇文章看的

问题是,当我尝试使用 HttpsURLConnection 从 Android 应用程序连接时,我总是遇到异常:


javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:351)
at com.android.okhttp.Connection.upgradeToTls(Connection.java:1323)
at com.android.okhttp.Connection.connect(Connection.java:1225)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:395)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:298)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:399)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:110)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:221)
at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218)
at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:25)
at org.apache.cordova.rest.Rest.send(Rest.java:177)

帮助!!

最佳答案

两种可能的解决方案

1) 如果您使用的是自签名证书,请尝试将证书 (.crt/.cer) 添加到信任库。

2) 如果您的证书是由本地 CA 签署的,请确保将根 CA 和中间 CA 导入到信任库。

关于android - 未找到证书路径异常的信任 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516721/

相关文章:

java - 房间数据库函数 WEEK()、MONTH() 等

c++ - 如何从构造函数返回错误代码?

android - 如何从 AsyncTask 抛出异常并在外部处理

java - 为什么一个web容器可以管理一个servlet?

java - 在 NetBeans IDE 中使用 gradle 和 tomcat 运行多个 war

eclipse - Tomcat 中出现 MissingResourceException,但 Java EE 服务器中没有

java - 如何修复java中的 "java.net.SocketException"错误

java - 如何从Assets文件夹中获取特定的图像资源?

安卓工作室 : How to delete crashlytics plugin

android - 将 Android Web 服务连接到本地主机