package com.l7tech.server.security.cert;

import com.l7tech.common.io.CertUtils;
import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.security.types.CertificateValidationResult;
import java.io.IOException;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.logging.Level;
import java.util.regex.Pattern;
import org.jetbrains.annotations.Nullable;

final class s extends q {
   private static final String f;
   private final OCSPCache g;
   private Boolean h;
   private static final String[] j;

   private s(String var1, Pattern var2, boolean var3, @Nullable Boolean var4, X509Certificate[] var5, OCSPCache var6, CertValidationProcessor var7) {
      super(var1, var2, var3, var5, var7);
      this.g = var6;
      this.h = var4;
   }

   @Override
   protected String[] getUrlsFromCert(X509Certificate var1, Audit var2) throws IOException {
      try {
         String[] var4 = j;
         return CertUtils.getAuthorityInformationAccessUris(var1, var4[5]);
      } catch (CertificateException var5) {
         throw new IOException(j[6], var5);
      }
   }

   @Override
   protected String what() {
      return j[4];
   }

   @Override
   public CertificateValidationResult getRevocationStatus(X509Certificate param1, X509Certificate param2, Audit param3, CertificateValidationResult param4) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: getstatic com/l7tech/security/types/CertificateValidationResult.REVOKED Lcom/l7tech/security/types/CertificateValidationResult;
      // 003: astore 5
      // 005: aload 0
      // 006: aload 1
      // 007: aload 3
      // 008: invokevirtual com/l7tech/server/security/cert/s.a (Ljava/security/cert/X509Certificate;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/util/List;
      // 00b: astore 6
      // 00d: aload 6
      // 00f: invokeinterface java/util/List.isEmpty ()Z 1
      // 014: ifne 029
      // 017: aload 6
      // 019: bipush 0
      // 01a: invokeinterface java/util/List.get (I)Ljava/lang/Object; 2
      // 01f: ifnonnull 031
      // 022: goto 029
      // 025: invokestatic com/l7tech/server/security/cert/s.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 028: athrow
      // 029: getstatic com/l7tech/security/types/CertificateValidationResult.UNKNOWN Lcom/l7tech/security/types/CertificateValidationResult;
      // 02c: areturn
      // 02d: invokestatic com/l7tech/server/security/cert/s.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 030: athrow
      // 031: aload 6
      // 033: bipush 0
      // 034: invokeinterface java/util/List.get (I)Ljava/lang/Object; 2
      // 039: checkcast java/lang/String
      // 03c: astore 7
      // 03e: new com/l7tech/server/security/cert/w
      // 041: dup
      // 042: aload 0
      // 043: aload 2
      // 044: aload 3
      // 045: aload 7
      // 047: invokespecial com/l7tech/server/security/cert/w.<init> (Lcom/l7tech/server/security/cert/s;Ljava/security/cert/X509Certificate;Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;)V
      // 04a: astore 8
      // 04c: aload 0
      // 04d: getfield com/l7tech/server/security/cert/s.g Lcom/l7tech/server/security/cert/OCSPCache;
      // 050: aload 7
      // 052: aload 1
      // 053: aload 2
      // 054: aload 8
      // 056: aload 0
      // 057: getfield com/l7tech/server/security/cert/s.h Ljava/lang/Boolean;
      // 05a: aload 3
      // 05b: invokevirtual com/l7tech/server/security/cert/OCSPCache.getOCSPStatus (Ljava/lang/String;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Lcom/l7tech/server/security/cert/OCSPClient$OCSPCertificateAuthorizer;Ljava/lang/Boolean;Lcom/l7tech/gateway/common/audit/Audit;)Lcom/l7tech/server/security/cert/OCSPClient$OCSPStatus;
      // 05e: astore 9
      // 060: aload 9
      // 062: invokevirtual com/l7tech/server/security/cert/OCSPClient$OCSPStatus.getResult ()Lcom/l7tech/security/types/CertificateValidationResult;
      // 065: astore 5
      // 067: aload 5
      // 069: getstatic com/l7tech/security/types/CertificateValidationResult.OK Lcom/l7tech/security/types/CertificateValidationResult;
      // 06c: if_acmpne 08f
      // 06f: aload 3
      // 070: getstatic com/l7tech/gateway/common/audit/SystemMessages.CERTVAL_REV_NOT_REVOKED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 073: bipush 1
      // 074: anewarray 212
      // 077: dup
      // 078: bipush 0
      // 079: aload 1
      // 07a: invokevirtual java/security/cert/X509Certificate.getSubjectDN ()Ljava/security/Principal;
      // 07d: invokeinterface java/security/Principal.toString ()Ljava/lang/String; 1
      // 082: aastore
      // 083: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 088: goto 0b7
      // 08b: invokestatic com/l7tech/server/security/cert/s.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 08e: athrow
      // 08f: aload 5
      // 091: getstatic com/l7tech/security/types/CertificateValidationResult.REVOKED Lcom/l7tech/security/types/CertificateValidationResult;
      // 094: if_acmpne 0b7
      // 097: aload 3
      // 098: getstatic com/l7tech/gateway/common/audit/SystemMessages.CERTVAL_REV_REVOKED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 09b: bipush 1
      // 09c: anewarray 212
      // 09f: dup
      // 0a0: bipush 0
      // 0a1: aload 1
      // 0a2: invokevirtual java/security/cert/X509Certificate.getSubjectDN ()Ljava/security/Principal;
      // 0a5: invokeinterface java/security/Principal.toString ()Ljava/lang/String; 1
      // 0aa: aastore
      // 0ab: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 0b0: goto 0b7
      // 0b3: invokestatic com/l7tech/server/security/cert/s.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b6: athrow
      // 0b7: goto 115
      // 0ba: astore 8
      // 0bc: aload 3
      // 0bd: getstatic com/l7tech/gateway/common/audit/SystemMessages.CERTVAL_OCSP_RECURSION Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0c0: bipush 1
      // 0c1: anewarray 212
      // 0c4: dup
      // 0c5: bipush 0
      // 0c6: aload 7
      // 0c8: aastore
      // 0c9: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 0ce: goto 115
      // 0d1: astore 8
      // 0d3: aload 3
      // 0d4: getstatic com/l7tech/gateway/common/audit/SystemMessages.CERTVAL_OCSP_BAD_RESPONSE_STATUS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0d7: bipush 2
      // 0d8: anewarray 212
      // 0db: dup
      // 0dc: bipush 0
      // 0dd: aload 7
      // 0df: aastore
      // 0e0: dup
      // 0e1: bipush 1
      // 0e2: aload 8
      // 0e4: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0e7: aastore
      // 0e8: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 0ed: goto 115
      // 0f0: astore 8
      // 0f2: aload 3
      // 0f3: getstatic com/l7tech/gateway/common/audit/SystemMessages.CERTVAL_OCSP_ERROR Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0f6: bipush 2
      // 0f7: anewarray 212
      // 0fa: dup
      // 0fb: bipush 0
      // 0fc: aload 7
      // 0fe: aastore
      // 0ff: dup
      // 100: bipush 1
      // 101: aload 8
      // 103: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 106: aastore
      // 107: aload 8
      // 109: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 10c: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V 4
      // 111: aload 4
      // 113: astore 5
      // 115: aload 5
      // 117: areturn
      // try (65 -> 79): 80 com/l7tech/server/security/cert/OCSPCache$OCSPClientRecursionException
      // try (48 -> 63): 63 com/l7tech/server/security/cert/OCSPCache$OCSPClientRecursionException
      // try (10 -> 19): 19 com/l7tech/server/security/cert/OCSPCache$OCSPClientRecursionException
      // try (7 -> 14): 15 com/l7tech/server/security/cert/OCSPCache$OCSPClientRecursionException
      // try (26 -> 82): 83 com/l7tech/server/security/cert/OCSPCache$OCSPClientRecursionException
      // try (26 -> 82): 94 com/l7tech/server/security/cert/OCSPClient$OCSPClientStatusException
      // try (26 -> 82): 110 com/l7tech/server/security/cert/OCSPClient$OCSPClientException
   }

   private void a(X509Certificate var1) {
      try {
         if (var1 == null || !RevocationCheckerFactory.a.isLoggable(Level.FINE)) {
            return;
         }
      } catch (IOException var6) {
         throw b(var6);
      }

      try {
         String[] var7 = j;
         RevocationCheckerFactory.a.log(Level.FINE, var7[3], CertUtils.encodeAsPEM(var1));
      } catch (IOException var4) {
         String[] var3 = j;
         RevocationCheckerFactory.a.log(Level.FINE, var3[2], var1.getSubjectX500Principal());
      } catch (CertificateEncodingException var5) {
         RevocationCheckerFactory.a.log(Level.FINE, j[0], var1.getSubjectX500Principal());
      }
   }

   private static Exception b(Exception var0) {
      return var0;
   }

   static {
      String[] var5 = new String[7];
      int var3 = 0;
      String var2 = "#Q\fIP.N\u001fb0w\u0014\u0019YL`:s\u0015\u001f_\tv\u007fz\u0015\u000e_\u0005t6z\u0011\bNLA*{\u001a\u0019H\u00182\u001bWP[\f\u0017\"\">WR\u0012]<l7FR\u001aB'q,^K\u0005X*q(7#Q\fIP.N\u001fb0w\u0014\u0019YL`:s\u0015\u001f_\tv\u007fz\u0015\u000e_\u0005t6z\u0011\bNLA*{\u001a\u0019H\u00182\u001bWP[\f\u0017\"\">WR'#Q\fIP.N\u001fb0w\u0014\u0019YL`:s\u0015\u001f_\tv\u007fz\u0015\u000e_\u0005t6z\u0011\bNfiod\u0004#Q\fI";
      int var4 = "#Q\fIP.N\u001fb0w\u0014\u0019YL`:s\u0015\u001f_\tv\u007fz\u0015\u000e_\u0005t6z\u0011\bNLA*{\u001a\u0019H\u00182\u001bWP[\f\u0017\"\">WR\u0012]<l7FR\u001aB'q,^K\u0005X*q(7#Q\fIP.N\u001fb0w\u0014\u0019YL`:s\u0015\u001f_\tv\u007fz\u0015\u000e_\u0005t6z\u0011\bNLA*{\u001a\u0019H\u00182\u001bWP[\f\u0017\"\">WR'#Q\fIP.N\u001fb0w\u0014\u0019YL`:s\u0015\u001f_\tv\u007fz\u0015\u000e_\u0005t6z\u0011\bNfiod\u0004#Q\fI"
         .length();
      char var1 = '7';
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     j = var5;
                     f = j[1];
                     return;
                  }

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

                  var2 = "3R\u0002Y(<t,I\u001fB0%k6D\u001fF,G\u000eC\u0018l2 z\bC\u0016}f,l\u001b\u00118]A\u0015\"\tC\u001bm2#p\u0013\\W}w7v\u0015W\u001e}s1gR";
                  var4 = "3R\u0002Y(<t,I\u001fB0%k6D\u001fF,G\u000eC\u0018l2 z\bC\u0016}f,l\u001b\u00118]A\u0015\"\tC\u001bm2#p\u0013\\W}w7v\u0015W\u001e}s1gR"
                     .length();
                  var1 = 18;
                  var7 = -1;
            }

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

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

      return var10000;
   }

   private static String b(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 -> 82;
            case 1 -> 44;
            case 2 -> 97;
            case 3 -> 39;
            case 4 -> 78;
            case 5 -> 66;
            default -> 21;
         });
      }

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