「Android誌」Android處理SSL驗證
錯誤代碼 javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. ---------------------------------------------------------------------------------------------------------------------- 解決方式 在製做電子發票驗證時、由於遇到網站憑證的問題、處理方式為避開SSL驗證 使用時先調用 requestWithoutCA 、再使用httpsurlconnection。 public void requestWithoutCA() { try { SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null, new TrustManager[] { new MyTrustManager() }, new SecureRandom()); HttpsURLConnection .setDefaultSSLSocketFactory(sc.getSocketFactory()); HttpsURLConnection .setDefaultHostnameVerifier(new MyHostnameVerifier()); URL url = new URL("https://certs.cac.washington.edu/CAtest/"); HttpURLConnection urlConnection = (HttpURLConnection) url .openConnection(); InputStream in = urlConnection.getInputStream(); // 取得输入流,并使用Reader读取 BufferedReader reader = new BufferedReader( new InputStreamR...