美文网首页
默认添加支持所有证书

默认添加支持所有证书

作者: 路途等待 | 来源:发表于2016-12-28 17:18 被阅读19次

    <pre>
    OkHttpClient.Builder mBuilder=mBuilder = new OkHttpClient.Builder();
    mBuilder.sslSocketFactory(createSSLSocketFactory());
    mBuilder.hostnameVerifier(new TrustAllHostnameVerifier());
    mBuilder.build();
    /**

    • 默认信任所有的证书

    • TODO 最好加上证书认证,主流App都有自己的证书

    • @return
      */
      @SuppressLint("TrulyRandom")
      private static SSLSocketFactory createSSLSocketFactory() {

      SSLSocketFactory sSLSocketFactory = null;

      try {
      SSLContext sc = SSLContext.getInstance("TLS");
      sc.init(null, new TrustManager[]{new TrustAllManager()},
      new SecureRandom());
      sSLSocketFactory = sc.getSocketFactory();
      } catch (Exception e) {
      }

      return sSLSocketFactory;
      }

    private static class TrustAllManager implements X509TrustManager {
    @Override
    public void checkClientTrusted(X509Certificate[] chain, String authType)
    throws CertificateException {
    }

    @Override
    public void checkServerTrusted(X509Certificate[] chain, String authType)
    
            throws CertificateException {
    }
    
    @Override
    public X509Certificate[] getAcceptedIssuers() {
        return null;//这里可能会报空指针  可以改成return new X509Certificate[0];
    }
    

    }

    private static class TrustAllHostnameVerifier implements HostnameVerifier {
    @Override
    public boolean verify(String hostname, SSLSession session) {
    return true;
    }
    }
    </pre>

    相关文章

      网友评论

          本文标题:默认添加支持所有证书

          本文链接:https://www.haomeiwen.com/subject/jxnyvttx.html