Advertisement
vergepuppeter

SelfSignCertificate

Apr 11th, 2016
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.07 KB | None | 0 0
  1. import com.squareup.okhttp.OkHttpClient;
  2.  
  3. import java.security.SecureRandom;
  4. import java.security.cert.CertificateException;
  5. import java.security.cert.X509Certificate;
  6.  
  7. import javax.net.ssl.HostnameVerifier;
  8. import javax.net.ssl.SSLContext;
  9. import javax.net.ssl.SSLSession;
  10. import javax.net.ssl.TrustManager;
  11. import javax.net.ssl.X509TrustManager;
  12.  
  13. @SuppressWarnings("unused")
  14. public class SelfSigningClientBuilder {
  15.  
  16.  
  17.     @SuppressWarnings("null")
  18.     public static OkHttpClient configureClient(final OkHttpClient client) {
  19.         final TrustManager[] certs = new TrustManager[]{new X509TrustManager() {
  20.  
  21.             @Override
  22.             public X509Certificate[] getAcceptedIssuers() {
  23.                 return null;
  24.             }
  25.  
  26.             @Override
  27.             public void checkServerTrusted(final X509Certificate[] chain,
  28.                                            final String authType) throws CertificateException {
  29.             }
  30.  
  31.             @Override
  32.             public void checkClientTrusted(final X509Certificate[] chain,
  33.                                            final String authType) throws CertificateException {
  34.             }
  35.         }};
  36.  
  37.         SSLContext ctx = null;
  38.         try {
  39.             ctx = SSLContext.getInstance("TLS");
  40.             ctx.init(null, certs, new SecureRandom());
  41.         } catch (final java.security.GeneralSecurityException ex) {
  42.         }
  43.  
  44.         try {
  45.             final HostnameVerifier hostnameVerifier = new HostnameVerifier() {
  46.                 @Override
  47.                 public boolean verify(final String hostname,
  48.                                       final SSLSession session) {
  49.                     return true;
  50.                 }
  51.             };
  52.             client.setHostnameVerifier(hostnameVerifier);
  53.             client.setSslSocketFactory(ctx.getSocketFactory());
  54.         } catch (final Exception e) {
  55.         }
  56.  
  57.         return client;
  58.     }
  59.  
  60.     public static OkHttpClient createClient() {
  61.         final OkHttpClient client = new OkHttpClient();
  62.         return configureClient(client);
  63.     }
  64.  
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement