52 lines
1.7 KiB
Java
52 lines
1.7 KiB
Java
package de.swingbe.ahc;
|
|
|
|
import org.apache.http.conn.ssl.SSLSocketFactory;
|
|
|
|
import javax.net.ssl.SSLContext;
|
|
import javax.net.ssl.TrustManager;
|
|
import javax.net.ssl.X509TrustManager;
|
|
import java.io.IOException;
|
|
import java.net.Socket;
|
|
import java.net.UnknownHostException;
|
|
import java.security.*;
|
|
import java.security.cert.CertificateException;
|
|
import java.security.cert.X509Certificate;
|
|
|
|
public class CustomSSLSocketFactory extends SSLSocketFactory {
|
|
SSLContext sslContext = SSLContext.getInstance("TLS");
|
|
|
|
public CustomSSLSocketFactory(KeyStore truststore) throws
|
|
NoSuchAlgorithmException, KeyManagementException,
|
|
KeyStoreException, UnrecoverableKeyException {
|
|
super(truststore);
|
|
|
|
TrustManager tm = new X509TrustManager() {
|
|
public void checkClientTrusted(X509Certificate[] chain,
|
|
String authType) throws CertificateException {
|
|
}
|
|
|
|
public void checkServerTrusted(X509Certificate[] chain,
|
|
String authType) throws CertificateException {
|
|
}
|
|
|
|
public X509Certificate[] getAcceptedIssuers() {
|
|
return null;
|
|
}
|
|
};
|
|
|
|
sslContext.init(null, new TrustManager[]{tm}, null);
|
|
}
|
|
|
|
@Override
|
|
public Socket createSocket(Socket socket, String host, int port,
|
|
boolean autoClose) throws IOException, UnknownHostException {
|
|
return sslContext.getSocketFactory().createSocket(socket,
|
|
host, port, autoClose);
|
|
}
|
|
|
|
@Override
|
|
public Socket createSocket() throws IOException {
|
|
return sslContext.getSocketFactory().createSocket();
|
|
}
|
|
}
|