Android,我的应用程序不接受我自己签署的ssl证书

时间:2016-04-05 00:59:32

标签: java android ssl https

我有一个自签名的ssl证书用于我的本地tomcat应用程序,我尝试使用https从我的android连接到tomcat web应用程序,但我收到此错误:

java.security.cert.CertPathValidatorException:找不到证书路径的信任锚。

这是一个常见问题,但到目前为止我找到的所有解决方案都存在问题。他们中的很多人只是创建了一个接受所有ssl证书的方法,这些证书会破坏使用ssl的要点。解决方案的另一个问题是它们都使用apache httpclient,这是不推荐的,我想使用urlconnection。

我在res / raw中有一个keystore.bks,如何让我的Android应用程序接受此证书?

这是我用来连接我的tomcat应用程序的代码:

URL url = new URL("https://192.168.0.6:8443/Rest/android/login");
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
StringBuilder sb = new StringBuilder();
reader = new BufferedReader(new InputStreamReader(con.getInputStream()));