package com.l7tech.security.cert;

import java.security.NoSuchAlgorithmException;
import java.security.spec.MGF1ParameterSpec;
import java.security.spec.PSSParameterSpec;
import java.util.logging.Logger;

public class SignatureUtils {
   public static final String SHA_256_FOR_RSASSA_PSS;
   public static final String SHA_384_FOR_RSASSA_PSS;
   public static final String SHA_512_FOR_RSASSA_PSS;
   public static final String RSASSAPSS_256_BC_SIG_ALG;
   public static final String RSASSAPSS_384_BC_SIG_ALG;
   public static final String RSASSAPSS_512_BC_SIG_ALG;
   private static final String a;
   private static final String b;
   private static final String c;
   private static final String d;
   private static final Logger e;
   private static final String[] f;

   private SignatureUtils() {
   }

   public static String getSigAlgFromHashAlgName(String var0, String var1) throws NoSuchAlgorithmException {
      String var2 = "";

      label42: {
         label41: {
            try {
               if (var0 == null || var0.trim().isEmpty()) {
                  break label41;
               }
            } catch (NoSuchAlgorithmException var7) {
               throw a(var7);
            }

            var2 = var0;
            break label42;
         }

         String[] var5 = f;
         var2 = var5[7];
      }

      try {
         if (var1 != null && var1.contains(f[12])) {
            return a(var2);
         }
      } catch (NoSuchAlgorithmException var6) {
         throw a(var6);
      }

      String[] var9 = f;
      if (!var9[2].equalsIgnoreCase(var1)) {
         String var4 = f[30] + var1;
         e.warning(var4);
         throw new NoSuchAlgorithmException(var4);
      } else {
         return c(var2);
      }
   }

   private static String a(String var0) throws NoSuchAlgorithmException {
      String[] var3 = f;
      String var1 = var3[15];

      try {
         if (var0.contains(var3[8])) {
            return b(var0);
         }
      } catch (NoSuchAlgorithmException var4) {
         throw a(var4);
      }

      var3 = f;
      String var2 = var0 + var3[17] + var1;
      return var2.replaceAll(var3[19], "");
   }

   private static String b(String var0) throws NoSuchAlgorithmException {
      String var1 = var0.toUpperCase();
      byte var2 = -1;

      label49: {
         label48: {
            label47: {
               try {
                  switch (var1.hashCode()) {
                     case -527212856:
                        break label47;
                     case 717395115:
                        if (!var1.equals(f[20])) {
                           break label49;
                        }
                        break label48;
                     case 1445666319:
                        break;
                     default:
                        break label49;
                  }
               } catch (NoSuchAlgorithmException var6) {
                  throw a(var6);
               }

               String[] var4 = f;
               if (var1.equals(var4[29])) {
                  var2 = 1;
               }
               break label49;
            }

            String[] var7 = f;
            if (var1.equals(var7[24])) {
               var2 = 2;
            }
            break label49;
         }

         var2 = 0;
      }

      label35: {
         label34: {
            try {
               switch (var2) {
                  case 0:
                     return f[22];
                  case 1:
                     break label35;
                  case 2:
                     break label34;
               }
            } catch (NoSuchAlgorithmException var5) {
               throw a(var5);
            }

            String var3 = f[14] + var0;
            e.warning(var3);
            throw new NoSuchAlgorithmException(var3);
         }

         String[] var8 = f;
         return var8[11];
      }

      String[] var9 = f;
      return var9[5];
   }

   private static String c(String var0) {
      String[] var3 = f;
      String var1 = var3[13];
      String var2 = var0 + var3[18] + var1;
      return var2.replaceAll(var3[26], "");
   }

   public static boolean isRsassapssSigAlg(String var0) {
      return var0.contains(f[6]);
   }

   public static PSSParameterSpec getAlgorithmParameterSpecForRsassapss(String var0) throws NoSuchAlgorithmException {
      String[] var3 = f;
      PSSParameterSpec var2;
      if (var3[9].equalsIgnoreCase(var0)) {
         MGF1ParameterSpec var1 = MGF1ParameterSpec.SHA256;
         var2 = new PSSParameterSpec(var1.getDigestAlgorithm(), var3[23], var1, 32, 1);
      } else {
         var3 = f;
         if (var3[3].equalsIgnoreCase(var0)) {
            MGF1ParameterSpec var4 = MGF1ParameterSpec.SHA384;
            var2 = new PSSParameterSpec(var4.getDigestAlgorithm(), var3[1], var4, 48, 1);
         } else {
            var3 = f;
            if (!var3[21].equalsIgnoreCase(var0)) {
               throw new NoSuchAlgorithmException(f[0] + var0);
            }

            MGF1ParameterSpec var5 = MGF1ParameterSpec.SHA512;
            var2 = new PSSParameterSpec(var5.getDigestAlgorithm(), var3[1], var5, 64, 1);
         }
      }

      return var2;
   }

   static {
      String[] var5 = new String[31];
      int var3 = 0;
      String var2 = "\u0018Vs]7wc<R\u007f\u0018 \"`%Yx\u001c0wa)\u001ew\u0011#ma%J~\u0010dk`lPy\tdpv/Qq\u0013-xv(\u0004\u0004\u0001yPL\u0002\t}\u0011\u001fvWN|6d%J~/\u0017C<\u001cmE\u0014\u001fvWPv7%l\u0016D.\u0005Q@\r\u0013F.\u0017+\u0011\u001fvWN|6d%J~/\u0017C<\u001cmE\u000b;Wb\u0015\u0016QRcnE.\u0005\u001fvWPu\n\u001emW.\u0017C>\u001cmE\u0011\u001fvWOq4d%J~/\u0017C<\u001cmE\u0005\u001fvWPu\u0011\u001fvWHu0d%J~/\u0017C<\u001cmE\u0003\u001emW\u0005\t}R.\u0005Q\u000fQc\u0011 \"}#J6\u001a!v38Vs]\u0016QR\u001fmWP\u0014Q@lM\u007f\u001a*cg9Ls]%nt#L\u007f\t,o3*Qd]0jvlVw\u000e,\"r Yy\u000f-v{!\u001ef\u000f+tz([rG\u0003\u001emW\u000b;Wb\u0015\u0016QRcnE.\u0004;Wb\u0015\u0004;Wb\u0015\u0002\u0010\u0013\u0014\u001fvWPv7%l\u0016D.\u0005Q@\r\u0013F.\u0017+\u0011\u001fvWHu0d%J~/\u0017C<\u001cmE\u0011\u001fvWOq4d%J~/\u0017C<\u001cmE\u0004\u0001yPL\u0014\u001fvWPq3!l\u0016D.\u0005Q@\r\u0013F.\u0017+\u0014\u001fvWPq3!l\u0016D.\u0005Q@\r\u0013F.\u0017+\u0002\u0010\u0013\u0014\u001fvWPw:'l\u0016D.\u0005Q@\r\u0013F.\u0017+\n\u001emW.\u0017C>\u001cmE";
      int var4 = "\u0018Vs]7wc<R\u007f\u0018 \"`%Yx\u001c0wa)\u001ew\u0011#ma%J~\u0010dk`lPy\tdpv/Qq\u0013-xv(\u0004\u0004\u0001yPL\u0002\t}\u0011\u001fvWN|6d%J~/\u0017C<\u001cmE\u0014\u001fvWPv7%l\u0016D.\u0005Q@\r\u0013F.\u0017+\u0011\u001fvWN|6d%J~/\u0017C<\u001cmE\u000b;Wb\u0015\u0016QRcnE.\u0005\u001fvWPu\n\u001emW.\u0017C>\u001cmE\u0011\u001fvWOq4d%J~/\u0017C<\u001cmE\u0005\u001fvWPu\u0011\u001fvWHu0d%J~/\u0017C<\u001cmE\u0003\u001emW\u0005\t}R.\u0005Q\u000fQc\u0011 \"}#J6\u001a!v38Vs]\u0016QR\u001fmWP\u0014Q@lM\u007f\u001a*cg9Ls]%nt#L\u007f\t,o3*Qd]0jvlVw\u000e,\"r Yy\u000f-v{!\u001ef\u000f+tz([rG\u0003\u001emW\u000b;Wb\u0015\u0016QRcnE.\u0004;Wb\u0015\u0004;Wb\u0015\u0002\u0010\u0013\u0014\u001fvWPv7%l\u0016D.\u0005Q@\r\u0013F.\u0017+\u0011\u001fvWHu0d%J~/\u0017C<\u001cmE\u0011\u001fvWOq4d%J~/\u0017C<\u001cmE\u0004\u0001yPL\u0014\u001fvWPq3!l\u0016D.\u0005Q@\r\u0013F.\u0017+\u0014\u001fvWPq3!l\u0016D.\u0005Q@\r\u0013F.\u0017+\u0002\u0010\u0013\u0014\u001fvWPw:'l\u0016D.\u0005Q@\r\u0013F.\u0017+\n\u001emW.\u0017C>\u001cmE"
         .length();
      char var1 = '3';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 40;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, d(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     f = var5;
                     String[] var9 = f;
                     SHA_256_FOR_RSASSA_PSS = f[4];
                     a = var9[28];
                     c = var9[1];
                     RSASSAPSS_512_BC_SIG_ALG = var9[11];
                     d = var9[10];
                     SHA_512_FOR_RSASSA_PSS = var9[25];
                     RSASSAPSS_384_BC_SIG_ALG = var9[5];
                     b = var9[16];
                     SHA_384_FOR_RSASSA_PSS = var9[27];
                     RSASSAPSS_256_BC_SIG_ALG = var9[22];
                     e = Logger.getLogger(SignatureUtils.class.getName());
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "{\u001234\u0013^C\br Ja5$iw\"JsO(|2\u00179K\u0003\u000e\b.\u000biEF\u0007Z5\u0004pD\u0003\u0013\b3\u00019N\t\u0003\b(\u0017zO\u0001\u0019A \u0017}\u001a";
                  var4 = "{\u001234\u0013^C\br Ja5$iw\"JsO(|2\u00179K\u0003\u000e\b.\u000biEF\u0007Z5\u0004pD\u0003\u0013\b3\u00019N\t\u0003\b(\u0017zO\u0001\u0019A \u0017}\u001a"
                     .length();
                  var1 = 20;
                  var7 = -1;
            }

            var10000 = 76;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

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

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

      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 -> 100;
            case 1 -> 22;
            case 2 -> 62;
            case 3 -> 85;
            case 4 -> 108;
            case 5 -> 42;
            default -> 59;
         });
      }

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