0

我试图通过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绕过任何验证。

回答

0

您确定您提供的密码正确吗? This answer表明如果密码不正确,连接可能会挂起。

+0

我会检查出来的,但是凭据是相同的我在iOS上使用 – Adam

0

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

+0

这只是一个原型,我不认为他们会在这一点上支付适当的证书,所以我只是想绕过任何验证 – Adam