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