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

默认添加支持所有证书

作者: 路途等待 | 来源:发表于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