All Downloads are FREE. Search and download functionalities are using the official Maven repository.

by.stub.server.FakeX509TrustManager Maven / Gradle / Ivy

package by.stub.server;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

final class FakeX509TrustManager implements X509TrustManager {

   FakeX509TrustManager() {

   }

   @Override
   public void checkClientTrusted(final X509Certificate[] chain, final String authType) throws CertificateException {

   }

   @Override
   public void checkServerTrusted(final X509Certificate[] chain, final String authType) throws CertificateException {

   }

   public boolean isClientTrusted(final X509Certificate[] chain) {
      return true;
   }

   public boolean isServerTrusted(final X509Certificate[] chain) {
      return true;
   }

   @Override
   public X509Certificate[] getAcceptedIssuers() {
      return new X509Certificate[]{};
   }

   public void allowAllSSL() throws KeyManagementException, NoSuchAlgorithmException {
      HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
         @Override
         public boolean verify(final String hostname, final SSLSession session) {
            return true;
         }
      });

      final SSLContext defaultSslContext = SSLContext.getInstance("TLS");
      defaultSslContext.init(new KeyManager[0], new TrustManager[]{this}, new SecureRandom());
      SSLContext.setDefault(defaultSslContext);
      HttpsURLConnection.setDefaultSSLSocketFactory(defaultSslContext.getSocketFactory());
   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy