package com.l7tech.common.io;

import java.net.Socket;
import java.security.Principal;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.X509ExtendedKeyManager;

public class SingleCertX509KeyManager extends X509ExtendedKeyManager {
   private final X509Certificate[] a;
   private final PrivateKey b;
   private final String c;
   private static final String d;

   public SingleCertX509KeyManager(X509Certificate[] var1, PrivateKey var2) {
      this.a = var1;
      this.b = var2;
      this.c = this.toString();
   }

   // $VF: Handled exception range with multiple entry points by splitting it
   // $VF: Duplicated exception handlers to handle obfuscated exceptions
   public SingleCertX509KeyManager(X509Certificate[] var1, PrivateKey var2, String var3) {
      this.a = var1;
      this.b = var2;
      this.c = var3;
      if (var3 != null) {
         try {
            if (var3.trim().length() >= 1) {
               return;
            }
         } catch (IllegalArgumentException var5) {
            throw a(var5);
         }
      }

      try {
         throw new IllegalArgumentException(d);
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }
   }

   @Override
   public String[] getClientAliases(String var1, Principal[] var2) {
      return new String[]{this.c};
   }

   @Override
   public String chooseClientAlias(String[] var1, Principal[] var2, Socket var3) {
      return this.c;
   }

   @Override
   public String[] getServerAliases(String var1, Principal[] var2) {
      return new String[]{this.c};
   }

   @Override
   public String chooseServerAlias(String var1, Principal[] var2, Socket var3) {
      return this.c;
   }

   @Override
   public X509Certificate[] getCertificateChain(String var1) {
      try {
         if (this.c.equals(var1)) {
            return this.a;
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      return null;
   }

   @Override
   public PrivateKey getPrivateKey(String var1) {
      try {
         if (this.c.equals(var1)) {
            return this.b;
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      return null;
   }

   @Override
   public String chooseEngineClientAlias(String[] var1, Principal[] var2, SSLEngine var3) {
      return this.c;
   }

   @Override
   public String chooseEngineServerAlias(String var1, Principal[] var2, SSLEngine var3) {
      return this.c;
   }

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

   static {
      String var10002 = a(98, a("\u0001\u0013\u001e\u001c^G6\u0015\f\u0003]O\u0002{\u000e\u0010\u0019PH\n+\u0014\u0006"));
      byte var10001 = -1;
      d = var10002;
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 57);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 2;
            case 1 -> 29;
            case 2 -> 21;
            case 3 -> 31;
            case 4 -> 79;
            case 5 -> 5;
            default -> 57;
         });
      }

      return new String(var10001).intern();
   }
}
