Android HttpURLConnection-信任所有主机的最简单方法?

时间:2014-06-16 01:26:12

标签: java android httpurlconnection httpsurlconnection authenticator

我试图通过Android客户端访问https网站:

            URL url = new URL(myurl);
            Log.d("Connection", myurl);
            HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
            conn.setReadTimeout(10000 /* milliseconds */);
            conn.setConnectTimeout(15000 /* milliseconds */);
            conn.addRequestProperty("Content-Type", "application/json");
            conn.setRequestMethod("POST");
            conn.setDoInput(true);
            // Starts the query
            Log.d("Connection", "Connecting...");
            conn.connect();

connect来电正在抛出异常:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
编辑:我告诉该网站正在使用自签名证书,因为这只是一个原型,我只需要信任所有主机,这样就可以了。有人能指出我这样做的一个简单例子吗?我在网上看到的代码变得非常复杂,我只想绕过任何验证。

2 个答案:

答案 0 :(得分:0)

您确定要提供的密码是否正确? This answer表示如果密码不正确,连接似乎会挂起。

答案 1 :(得分:0)

我通过使用正确的组织单位名称和公共名称创建新的.csr来修复它 希望您在URL中使用HTTPS。