本文共 1515 字,大约阅读时间需要 5 分钟。
在Android开发中经常会遇到接口做了SSL加密,但是在前端又不需要使用SSL加密,这就需要忽略掉加密验证。
只需在再Application中执行如下方法即可。private void ignoreSSL() { try { final TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() { @Override public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) { } @Override public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) { } @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new java.security.cert.X509Certificate[]{ }; } }}; // Install the all-trusting trust manager final SSLContext sslContext = SSLContext.getInstance("SSL"); sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); // Create an ssl socket factory with our all-trusting manager final javax.net.ssl.SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory(); HttpsURLConnection.setDefaultSSLSocketFactory(sslSocketFactory); HttpsURLConnection.setDefaultHostnameVerifier((String hostname, SSLSession session) -> true); } catch (Exception e) { throw new RuntimeException(e); } }
转载地址:http://snsvi.baihongyu.com/