我试图通过Android客户端打的HTTPS站点:Android HttpURLConnection-最简单的方法来信任所有主机?
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.
编辑:我告诉该网站使用的是自签名的证书,因为这只是一个原型,我只需要信任所有的主机,所以它会工作。有人能指出我这样做的一个简单例子吗?我在网上看到的代码变得相当复杂,我只想做一个hacky绕过任何验证。
我会检查出来的,但是凭据是相同的我在iOS上使用 – Adam