Skip to content

Commit 38a4609

Browse files
committed
see 02/21 log
1 parent 7db0eb0 commit 38a4609

File tree

1 file changed

+46
-21
lines changed
  • utilcode/lib/src/main/java/com/blankj/utilcode/util/http

1 file changed

+46
-21
lines changed

utilcode/lib/src/main/java/com/blankj/utilcode/util/http/SslConfig.java renamed to utilcode/lib/src/main/java/com/blankj/utilcode/util/http/SSLConfig.java

Lines changed: 46 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.blankj.utilcode.util.http;
22

3+
import android.annotation.SuppressLint;
34
import android.os.Build;
5+
import android.support.annotation.NonNull;
46

57
import java.io.IOException;
68
import java.net.InetAddress;
@@ -12,6 +14,7 @@
1214
import javax.net.ssl.HostnameVerifier;
1315
import javax.net.ssl.SSLContext;
1416
import javax.net.ssl.SSLEngine;
17+
import javax.net.ssl.SSLSession;
1518
import javax.net.ssl.SSLSocket;
1619
import javax.net.ssl.SSLSocketFactory;
1720
import javax.net.ssl.TrustManager;
@@ -23,17 +26,35 @@
2326
* author: blankj
2427
* blog : http://blankj.com
2528
* time : 2019/02/20
26-
* desc :
2729
* </pre>
2830
*/
29-
public class SslConfig {
31+
public final class SSLConfig {
3032

31-
SSLSocketFactory mSSLSocketFactory;
32-
HostnameVerifier mHostnameVerifier;
33+
private SSLSocketFactory mSSLSocketFactory;
34+
private HostnameVerifier mHostnameVerifier;
3335

34-
36+
public SSLConfig(@NonNull SSLSocketFactory factory, @NonNull HostnameVerifier verifier) {
37+
mSSLSocketFactory = factory;
38+
mHostnameVerifier = verifier;
39+
}
40+
41+
public static final HostnameVerifier DEFAULT_VERIFIER = new HostnameVerifier() {
42+
public boolean verify(String hostname, SSLSession session) {
43+
return true;
44+
}
45+
};
46+
47+
public static final SSLSocketFactory DEFAULT_SSL_SOCKET_FACTORY = new DefaultSSLSocketFactory();
48+
49+
public SSLSocketFactory getSSLSocketFactory() {
50+
return mSSLSocketFactory;
51+
}
52+
53+
public HostnameVerifier getHostnameVerifier() {
54+
return mHostnameVerifier;
55+
}
3556

36-
static class DefaultSocketFactory extends SSLSocketFactory {
57+
private static class DefaultSSLSocketFactory extends SSLSocketFactory {
3758

3859
private static final String[] PROTOCOL_ARRAY;
3960
private static final TrustManager[] DEFAULT_TRUST_MANAGERS;
@@ -50,9 +71,11 @@ static class DefaultSocketFactory extends SSLSocketFactory {
5071
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
5172
DEFAULT_TRUST_MANAGERS = new TrustManager[]{
5273
new X509ExtendedTrustManager() {
74+
@SuppressLint("TrustAllX509TrustManager")
5375
@Override
5476
public void checkClientTrusted(X509Certificate[] chain, String authType) { /**/ }
5577

78+
@SuppressLint("TrustAllX509TrustManager")
5679
@Override
5780
public void checkServerTrusted(X509Certificate[] chain, String authType) { /**/ }
5881

@@ -61,25 +84,31 @@ public X509Certificate[] getAcceptedIssuers() {
6184
return new X509Certificate[0];
6285
}
6386

87+
@SuppressLint("TrustAllX509TrustManager")
6488
@Override
6589
public void checkClientTrusted(X509Certificate[] chain, String authType, Socket socket) { /**/ }
6690

91+
@SuppressLint("TrustAllX509TrustManager")
6792
@Override
6893
public void checkServerTrusted(X509Certificate[] chain, String authType, Socket socket) { /**/ }
6994

95+
@SuppressLint("TrustAllX509TrustManager")
7096
@Override
7197
public void checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine) { /**/ }
7298

99+
@SuppressLint("TrustAllX509TrustManager")
73100
@Override
74101
public void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine) { /**/ }
75102
}
76103
};
77104
} else {
78105
DEFAULT_TRUST_MANAGERS = new TrustManager[]{
79106
new X509TrustManager() {
107+
@SuppressLint("TrustAllX509TrustManager")
80108
@Override
81109
public void checkClientTrusted(X509Certificate[] chain, String authType) { /**/ }
82110

111+
@SuppressLint("TrustAllX509TrustManager")
83112
@Override
84113
public void checkServerTrusted(X509Certificate[] chain, String authType) { /**/ }
85114

@@ -93,70 +122,66 @@ public X509Certificate[] getAcceptedIssuers() {
93122

94123
}
95124

96-
private SSLSocketFactory delegate;
125+
private SSLSocketFactory mFactory;
97126

98-
DefaultSocketFactory() {
127+
DefaultSSLSocketFactory() {
99128
try {
100129
SSLContext sslContext = SSLContext.getInstance("TLS");
101130
sslContext.init(null, DEFAULT_TRUST_MANAGERS, new SecureRandom());
102-
delegate = sslContext.getSocketFactory();
131+
mFactory = sslContext.getSocketFactory();
103132
} catch (GeneralSecurityException e) {
104133
throw new AssertionError();
105134
}
106135
}
107136

108-
public DefaultSocketFactory(SSLSocketFactory factory) {
109-
this.delegate = factory;
110-
}
111-
112137
@Override
113138
public String[] getDefaultCipherSuites() {
114-
return delegate.getDefaultCipherSuites();
139+
return mFactory.getDefaultCipherSuites();
115140
}
116141

117142
@Override
118143
public String[] getSupportedCipherSuites() {
119-
return delegate.getSupportedCipherSuites();
144+
return mFactory.getSupportedCipherSuites();
120145
}
121146

122147
@Override
123148
public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException {
124-
Socket ssl = delegate.createSocket(s, host, port, autoClose);
149+
Socket ssl = mFactory.createSocket(s, host, port, autoClose);
125150
setSupportProtocolAndCipherSuites(ssl);
126151
return ssl;
127152
}
128153

129154
@Override
130155
public Socket createSocket(String host, int port) throws IOException {
131-
Socket ssl = delegate.createSocket(host, port);
156+
Socket ssl = mFactory.createSocket(host, port);
132157
setSupportProtocolAndCipherSuites(ssl);
133158
return ssl;
134159
}
135160

136161
@Override
137162
public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException {
138-
Socket ssl = delegate.createSocket(host, port, localHost, localPort);
163+
Socket ssl = mFactory.createSocket(host, port, localHost, localPort);
139164
setSupportProtocolAndCipherSuites(ssl);
140165
return ssl;
141166
}
142167

143168
@Override
144169
public Socket createSocket(InetAddress host, int port) throws IOException {
145-
Socket ssl = delegate.createSocket(host, port);
170+
Socket ssl = mFactory.createSocket(host, port);
146171
setSupportProtocolAndCipherSuites(ssl);
147172
return ssl;
148173
}
149174

150175
@Override
151176
public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException {
152-
Socket ssl = delegate.createSocket(address, port, localAddress, localPort);
177+
Socket ssl = mFactory.createSocket(address, port, localAddress, localPort);
153178
setSupportProtocolAndCipherSuites(ssl);
154179
return ssl;
155180
}
156181

157182
@Override
158183
public Socket createSocket() throws IOException {
159-
Socket ssl = delegate.createSocket();
184+
Socket ssl = mFactory.createSocket();
160185
setSupportProtocolAndCipherSuites(ssl);
161186
return ssl;
162187
}

0 commit comments

Comments
 (0)