android:Trust anchor for certification path not found.

今天搞webservice,后臺是https的,然后遇到了java.security.cert.CertPathValidatorException:Trust anchor for certification path not found.

看說明應該是少了簽名.解決方案,在請求前添加:

 try {

                TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {

                    public X509Certificate[] getAcceptedIssuers() {

                        return new X509Certificate[0];

                    }

                    @Override

                    public void checkClientTrusted(X509Certificate[] certs, String authType) {

                    }

                    @Override

                    public void checkServerTrusted(X509Certificate[] certs, String authType) {

                    }

                }};

                SSLContext sc = SSLContext.getInstance("SSL");

                sc.init(null, trustAllCerts, new SecureRandom());

                HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

                HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {

                    @Override

                    public boolean verify(String arg0, SSLSession arg1) {

                        return true;

                    }

                });

            } catch (Exception ignored) {

                ignored.printStackTrace();

            }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容