package com.l7tech.server.identity.ldap;

import com.l7tech.server.transport.http.SslClientSocketFactorySupport;
import com.l7tech.util.NonObfuscatable;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Comparator;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;

public class LdapSSLSocketFactory extends SslClientSocketFactorySupport implements Comparator {
   @NonObfuscatable
   private static LdapSSLSocketFactory instance;
   @NonObfuscatable
   private HostnameVerifier hostnameVerifier;

   public static synchronized SSLSocketFactory getDefault() {
      try {
         if (instance == null) {
            instance = new LdapSSLSocketFactory();
         }
      } catch (UnsupportedOperationException var0) {
         throw a(var0);
      }

      return instance;
   }

   @Override
   protected final X509TrustManager getTrustManager() {
      throw new UnsupportedOperationException();
   }

   @Override
   protected final SSLContext buildSSLContext() {
      throw new UnsupportedOperationException();
   }

   @Override
   protected final Socket notifyCreated(Socket var1, String var2, InetAddress var3, int var4, InetAddress var5, int var6) throws IOException {
      return this.a(var1);
   }

   @NonObfuscatable
   private HostnameVerifier getHostnameVerifier() {
      HostnameVerifier var1 = this.hostnameVerifier;
      if (var1 == null) {
         var1 = this.hostnameVerifier = LdapSslCustomizerSupport.getHostnameVerifier();
      }

      return var1;
   }

   private Socket a(Socket var1) {
      if (var1 instanceof SSLSocket var2) {
         var1 = new HostnameVerifyingSSLSocketWrapper(var2, LdapSslCustomizerSupport.getHostnameVerifier());
      }

      return (Socket)var1;
   }

   private static UnsupportedOperationException a(UnsupportedOperationException var0) {
      return var0;
   }
}
