Commit 217ad9f6 by sikang

add ssl utils

parent 3ef44d74
/*
* Copyright (C) 2019 starwin.tech
*/
package tech.starwin.network;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
/**
* Created by zhuyuanbao(isanwenyu@163.com) on 2019/3/15 18:48.
*/
public class SSLSocketClient {
//获取这个SSLSocketFactory
public static javax.net.ssl.SSLSocketFactory getSSLSocketFactory() {
try {
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, getTrustManagers(), new SecureRandom());
return sslContext.getSocketFactory();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
//获取TrustManager
private static TrustManager[] getTrustManagers() {
TrustManager[] trustAllCerts = new TrustManager[]{getTrustManager()};
return trustAllCerts;
}
//获取HostnameVerifier
public static HostnameVerifier getHostnameVerifier() {
HostnameVerifier hostnameVerifier = new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
};
return hostnameVerifier;
}
public static X509TrustManager getTrustManager() {
return new MyTrustManager();
}
private static final class MyTrustManager implements X509TrustManager {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}
}
...@@ -36,6 +36,8 @@ public class ServiceGenerator { ...@@ -36,6 +36,8 @@ public class ServiceGenerator {
.addInterceptor(new DefaultHeaderAddInterceptor()) .addInterceptor(new DefaultHeaderAddInterceptor())
.addInterceptor(new FirebaseHeaderInterceptor()) .addInterceptor(new FirebaseHeaderInterceptor())
.addInterceptor(logging) .addInterceptor(logging)
.sslSocketFactory(SSLSocketClient.getSSLSocketFactory(), SSLSocketClient.getTrustManager())
.hostnameVerifier(SSLSocketClient.getHostnameVerifier())
.build(); .build();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment