MCPcopy Create free account
hub / github.com/Arronlong/httpclientutil / SSLs

Class SSLs

src/main/java/com/arronlong/httpclientutil/common/SSLs.java:33–190  ·  view source on GitHub ↗

设置ssl @author arron @version 1.0

Source from the content-addressed store, hash-verified

31 * @version 1.0
32 */
33public class SSLs {
34
35 private static final SSLHandler simpleVerifier = new SSLHandler();
36 private static SSLSocketFactory sslFactory ;
37 private static SSLConnectionSocketFactory sslConnFactory ;
38 private static SSLIOSessionStrategy sslIOSessionStrategy ;
39 private static SSLs sslutil = new SSLs();
40 private SSLContext sc;
41
42 public static SSLs getInstance(){
43 return sslutil;
44 }
45 public static SSLs custom(){
46 return new SSLs();
47 }
48
49 // 重写X509TrustManager类的三个方法,信任服务器证书
50 private static class SSLHandler implements X509TrustManager, HostnameVerifier{
51
52 @Override
53 public java.security.cert.X509Certificate[] getAcceptedIssuers() {
54 return new java.security.cert.X509Certificate[]{};
55 //return null;
56 }
57
58 @Override
59 public void checkServerTrusted(java.security.cert.X509Certificate[] chain,
60 String authType) throws java.security.cert.CertificateException {
61 }
62
63 @Override
64 public void checkClientTrusted(java.security.cert.X509Certificate[] chain,
65 String authType) throws java.security.cert.CertificateException {
66 }
67
68 @Override
69 public boolean verify(String paramString, SSLSession paramSSLSession) {
70 return true;
71 }
72 };
73
74 // 信任主机
75 public static HostnameVerifier getVerifier() {
76 return simpleVerifier;
77 }
78
79 public synchronized SSLSocketFactory getSSLSF(SSLProtocolVersion sslpv) throws HttpProcessException {
80 if (sslFactory != null)
81 return sslFactory;
82 try {
83 SSLContext sc = getSSLContext(sslpv);
84 sc.init(null, new TrustManager[] { simpleVerifier }, null);
85 sslFactory = sc.getSocketFactory();
86 } catch (KeyManagementException e) {
87 throw new HttpProcessException(e);
88 }
89 return sslFactory;
90 }

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…