public class org.eclipse.jetty.util.security.CertificateValidator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jetty.util.security.CertificateValidator
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.util.concurrent.atomic.AtomicLong __aliasCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.security.KeyStore _trustStore;
    descriptor: Ljava/security/KeyStore;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Collection<? extends java.security.cert.CRL> _crls;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<+Ljava/security/cert/CRL;>;

  private int _maxCertPathLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean _enableCRLDP;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean _enableOCSP;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String _ocspResponderURL;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 57
            ldc Lorg/eclipse/jetty/util/security/CertificateValidator;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.eclipse.jetty.util.security.CertificateValidator.LOG:Lorg/slf4j/Logger;
         1: .line 58
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putstatic org.eclipse.jetty.util.security.CertificateValidator.__aliasCount:Ljava/util/concurrent/atomic/AtomicLong;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.security.KeyStore, java.util.Collection<? extends java.security.cert.CRL>);
    descriptor: (Ljava/security/KeyStore;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // java.security.KeyStore trustStore
        start local 2 // java.util.Collection crls
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 66
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jetty.util.security.CertificateValidator._maxCertPathLength:I
         2: .line 70
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jetty.util.security.CertificateValidator._enableCRLDP:Z
         3: .line 74
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jetty.util.security.CertificateValidator._enableOCSP:Z
         4: .line 88
            aload 1 /* trustStore */
            ifnonnull 6
         5: .line 90
            new java.security.InvalidParameterException
            dup
            ldc "TrustStore must be specified for CertificateValidator."
            invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 93
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.KeyStore java.util.Collection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* trustStore */
            putfield org.eclipse.jetty.util.security.CertificateValidator._trustStore:Ljava/security/KeyStore;
         7: .line 94
            aload 0 /* this */
            aload 2 /* crls */
            putfield org.eclipse.jetty.util.security.CertificateValidator._crls:Ljava/util/Collection;
         8: .line 95
            return
        end local 2 // java.util.Collection crls
        end local 1 // java.security.KeyStore trustStore
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0    9     1  trustStore  Ljava/security/KeyStore;
            0    9     2        crls  Ljava/util/Collection<+Ljava/security/cert/CRL;>;
    Signature: (Ljava/security/KeyStore;Ljava/util/Collection<+Ljava/security/cert/CRL;>;)V
    MethodParameters:
            Name  Flags
      trustStore  
      crls        

  public void validate(java.security.KeyStore);
    descriptor: (Ljava/security/KeyStore;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // java.security.KeyStore keyStore
         0: .line 107
            aload 1 /* keyStore */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 2 /* aliases */
        start local 2 // java.util.Enumeration aliases
         1: .line 109
            goto 4
         2: .line 111
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* aliases */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* alias */
        start local 3 // java.lang.String alias
         3: .line 113
            aload 0 /* this */
            aload 1 /* keyStore */
            aload 3 /* alias */
            invokevirtual org.eclipse.jetty.util.security.CertificateValidator.validate:(Ljava/security/KeyStore;Ljava/lang/String;)Ljava/lang/String;
            pop
        end local 3 // java.lang.String alias
         4: .line 109
      StackMap locals:
      StackMap stack:
            aload 2 /* aliases */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
        end local 2 // java.util.Enumeration aliases
         5: .line 115
            goto 8
         6: .line 116
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.KeyStore
      StackMap stack: java.security.KeyStoreException
            astore 2 /* kse */
        start local 2 // java.security.KeyStoreException kse
         7: .line 118
            new java.security.cert.CertificateException
            dup
            ldc "Unable to retrieve aliases from keystore"
            aload 2 /* kse */
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.KeyStoreException kse
         8: .line 120
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.KeyStore keyStore
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0    9     1  keyStore  Ljava/security/KeyStore;
            1    5     2   aliases  Ljava/util/Enumeration<Ljava/lang/String;>;
            3    4     3     alias  Ljava/lang/String;
            7    8     2       kse  Ljava/security/KeyStoreException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.security.KeyStoreException
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      keyStore  

  public java.lang.String validate(java.security.KeyStore, java.lang.String);
    descriptor: (Ljava/security/KeyStore;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // java.security.KeyStore keyStore
        start local 2 // java.lang.String keyAlias
         0: .line 132
            aconst_null
            astore 3 /* result */
        start local 3 // java.lang.String result
         1: .line 134
            aload 2 /* keyAlias */
            ifnull 10
         2: .line 138
            aload 0 /* this */
            aload 1 /* keyStore */
            aload 1 /* keyStore */
            aload 2 /* keyAlias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            invokevirtual org.eclipse.jetty.util.security.CertificateValidator.validate:(Ljava/security/KeyStore;Ljava/security/cert/Certificate;)V
         3: .line 139
            goto 9
         4: .line 140
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.KeyStore java.lang.String java.lang.String
      StackMap stack: java.security.KeyStoreException
            astore 4 /* kse */
        start local 4 // java.security.KeyStoreException kse
         5: .line 142
            getstatic org.eclipse.jetty.util.security.CertificateValidator.LOG:Lorg/slf4j/Logger;
            ldc "Unable to validate alias: {}"
            aload 2 /* keyAlias */
            aload 4 /* kse */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 143
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to validate certificate for alias ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 144
            aload 2 /* keyAlias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* kse */
            invokevirtual java.security.KeyStoreException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* kse */
         8: .line 143
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.KeyStoreException kse
         9: .line 146
      StackMap locals:
      StackMap stack:
            aload 2 /* keyAlias */
            astore 3 /* result */
        10: .line 149
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.lang.String result
        end local 2 // java.lang.String keyAlias
        end local 1 // java.security.KeyStore keyStore
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0   11     1  keyStore  Ljava/security/KeyStore;
            0   11     2  keyAlias  Ljava/lang/String;
            1   11     3    result  Ljava/lang/String;
            5    9     4       kse  Ljava/security/KeyStoreException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.security.KeyStoreException
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      keyStore  
      keyAlias  

  public void validate(java.security.KeyStore, java.security.cert.Certificate);
    descriptor: (Ljava/security/KeyStore;Ljava/security/cert/Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // java.security.KeyStore keyStore
        start local 2 // java.security.cert.Certificate cert
         0: .line 161
            aconst_null
            astore 3 /* certChain */
        start local 3 // java.security.cert.Certificate[] certChain
         1: .line 163
            aload 2 /* cert */
            ifnull 21
            aload 2 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 21
         2: .line 165
            aload 2 /* cert */
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.checkValidity:()V
         3: .line 167
            aconst_null
            astore 4 /* certAlias */
        start local 4 // java.lang.String certAlias
         4: .line 170
            aload 1 /* keyStore */
            ifnonnull 6
         5: .line 172
            new java.security.InvalidParameterException
            dup
            ldc "Keystore cannot be null"
            invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 175
      StackMap locals: java.security.cert.Certificate[] java.lang.String
      StackMap stack:
            aload 1 /* keyStore */
            aload 2 /* cert */
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            astore 4 /* certAlias */
         7: .line 176
            aload 4 /* certAlias */
            ifnonnull 10
         8: .line 178
            new java.lang.StringBuilder
            dup
            ldc "JETTY"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "%016X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic org.eclipse.jetty.util.security.CertificateValidator.__aliasCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* certAlias */
         9: .line 179
            aload 1 /* keyStore */
            aload 4 /* certAlias */
            aload 2 /* cert */
            invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        10: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* keyStore */
            aload 4 /* certAlias */
            invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
            astore 3 /* certChain */
        11: .line 183
            aload 3 /* certChain */
            ifnull 12
            aload 3 /* certChain */
            arraylength
            ifne 20
        12: .line 185
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Unable to retrieve certificate chain"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 188
      StackMap locals:
      StackMap stack: java.security.KeyStoreException
            astore 5 /* kse */
        start local 5 // java.security.KeyStoreException kse
        14: .line 190
            getstatic org.eclipse.jetty.util.security.CertificateValidator.LOG:Lorg/slf4j/Logger;
            ldc "Unable to validate certificate"
            aload 5 /* kse */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        15: .line 191
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to validate certificate"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 192
            aload 4 /* certAlias */
            ifnonnull 17
            ldc ""
            goto 18
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.KeyStore java.security.cert.Certificate java.security.cert.Certificate[] java.lang.String java.security.KeyStoreException
      StackMap stack: new 15 new 15 java.lang.StringBuilder
        17: new java.lang.StringBuilder
            dup
            ldc " for alias ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* certAlias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.KeyStore java.security.cert.Certificate java.security.cert.Certificate[] java.lang.String java.security.KeyStoreException
      StackMap stack: new 15 new 15 java.lang.StringBuilder java.lang.String
        18: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* kse */
            invokevirtual java.security.KeyStoreException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* kse */
        19: .line 191
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.KeyStoreException kse
        20: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* certChain */
            invokevirtual org.eclipse.jetty.util.security.CertificateValidator.validate:([Ljava/security/cert/Certificate;)V
        end local 4 // java.lang.String certAlias
        21: .line 197
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.cert.Certificate[] certChain
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.security.KeyStore keyStore
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0   22     1   keyStore  Ljava/security/KeyStore;
            0   22     2       cert  Ljava/security/cert/Certificate;
            1   22     3  certChain  [Ljava/security/cert/Certificate;
            4   21     4  certAlias  Ljava/lang/String;
           14   20     5        kse  Ljava/security/KeyStoreException;
      Exception table:
        from    to  target  type
           4    13      13  Class java.security.KeyStoreException
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      keyStore  
      cert      

  public void validate(java.security.cert.Certificate[]);
    descriptor: ([Ljava/security/cert/Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // java.security.cert.Certificate[] certChain
         0: .line 203
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* certList */
        start local 2 // java.util.ArrayList certList
         1: .line 204
            aload 1 /* certChain */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.cert.Certificate[] java.util.ArrayList top int int java.security.cert.Certificate[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* item */
        start local 3 // java.security.cert.Certificate item
         3: .line 206
            aload 3 /* item */
            ifnonnull 5
         4: .line 207
            goto 8
         5: .line 209
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.cert.Certificate[] java.util.ArrayList java.security.cert.Certificate int int java.security.cert.Certificate[]
      StackMap stack:
            aload 3 /* item */
            instanceof java.security.cert.X509Certificate
            ifne 7
         6: .line 211
            new java.lang.IllegalStateException
            dup
            ldc "Invalid certificate type in chain"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 214
      StackMap locals:
      StackMap stack:
            aload 2 /* certList */
            aload 3 /* item */
            checkcast java.security.cert.X509Certificate
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.security.cert.Certificate item
         8: .line 204
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.cert.Certificate[] java.util.ArrayList top int int java.security.cert.Certificate[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 2
        10: .line 217
            aload 2 /* certList */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 12
        11: .line 219
            new java.lang.IllegalStateException
            dup
            ldc "Invalid certificate chain"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 222
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.cert.Certificate[] java.util.ArrayList
      StackMap stack:
            new java.security.cert.X509CertSelector
            dup
            invokespecial java.security.cert.X509CertSelector.<init>:()V
            astore 3 /* certSelect */
        start local 3 // java.security.cert.X509CertSelector certSelect
        13: .line 223
            aload 3 /* certSelect */
            aload 2 /* certList */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509CertSelector.setCertificate:(Ljava/security/cert/X509Certificate;)V
        14: .line 226
            new java.security.cert.PKIXBuilderParameters
            dup
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._trustStore:Ljava/security/KeyStore;
            aload 3 /* certSelect */
            invokespecial java.security.cert.PKIXBuilderParameters.<init>:(Ljava/security/KeyStore;Ljava/security/cert/CertSelector;)V
            astore 4 /* pbParams */
        start local 4 // java.security.cert.PKIXBuilderParameters pbParams
        15: .line 227
            aload 4 /* pbParams */
            ldc "Collection"
            new java.security.cert.CollectionCertStoreParameters
            dup
            aload 2 /* certList */
            invokespecial java.security.cert.CollectionCertStoreParameters.<init>:(Ljava/util/Collection;)V
            invokestatic java.security.cert.CertStore.getInstance:(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
            invokevirtual java.security.cert.PKIXBuilderParameters.addCertStore:(Ljava/security/cert/CertStore;)V
        16: .line 230
            aload 4 /* pbParams */
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._maxCertPathLength:I
            invokevirtual java.security.cert.PKIXBuilderParameters.setMaxPathLength:(I)V
        17: .line 233
            aload 4 /* pbParams */
            iconst_1
            invokevirtual java.security.cert.PKIXBuilderParameters.setRevocationEnabled:(Z)V
        18: .line 236
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._crls:Ljava/util/Collection;
            ifnull 20
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._crls:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 20
        19: .line 238
            aload 4 /* pbParams */
            ldc "Collection"
            new java.security.cert.CollectionCertStoreParameters
            dup
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._crls:Ljava/util/Collection;
            invokespecial java.security.cert.CollectionCertStoreParameters.<init>:(Ljava/util/Collection;)V
            invokestatic java.security.cert.CertStore.getInstance:(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
            invokevirtual java.security.cert.PKIXBuilderParameters.addCertStore:(Ljava/security/cert/CertStore;)V
        20: .line 242
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.PKIXBuilderParameters
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._enableOCSP:Z
            ifeq 22
        21: .line 244
            ldc "ocsp.enable"
            ldc "true"
            invokestatic java.security.Security.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._enableCRLDP:Z
            ifeq 24
        23: .line 249
            ldc "com.sun.security.enableCRLDP"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        24: .line 253
      StackMap locals:
      StackMap stack:
            ldc "PKIX"
            invokestatic java.security.cert.CertPathBuilder.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
            aload 4 /* pbParams */
            invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
            astore 5 /* buildResult */
        start local 5 // java.security.cert.CertPathBuilderResult buildResult
        25: .line 256
            ldc "PKIX"
            invokestatic java.security.cert.CertPathValidator.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertPathValidator;
            aload 5 /* buildResult */
            invokeinterface java.security.cert.CertPathBuilderResult.getCertPath:()Ljava/security/cert/CertPath;
            aload 4 /* pbParams */
            invokevirtual java.security.cert.CertPathValidator.validate:(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
            pop
        end local 5 // java.security.cert.CertPathBuilderResult buildResult
        end local 4 // java.security.cert.PKIXBuilderParameters pbParams
        end local 3 // java.security.cert.X509CertSelector certSelect
        end local 2 // java.util.ArrayList certList
        26: .line 257
            goto 30
        27: .line 258
      StackMap locals: org.eclipse.jetty.util.security.CertificateValidator java.security.cert.Certificate[]
      StackMap stack: java.security.GeneralSecurityException
            astore 2 /* gse */
        start local 2 // java.security.GeneralSecurityException gse
        28: .line 260
            getstatic org.eclipse.jetty.util.security.CertificateValidator.LOG:Lorg/slf4j/Logger;
            ldc "Unable to validate certificate chain"
            aload 2 /* gse */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        29: .line 261
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to validate certificate: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* gse */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* gse */
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.GeneralSecurityException gse
        30: .line 263
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.cert.Certificate[] certChain
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0         this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0   31     1    certChain  [Ljava/security/cert/Certificate;
            1   26     2     certList  Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
            3    8     3         item  Ljava/security/cert/Certificate;
           13   26     3   certSelect  Ljava/security/cert/X509CertSelector;
           15   26     4     pbParams  Ljava/security/cert/PKIXBuilderParameters;
           25   26     5  buildResult  Ljava/security/cert/CertPathBuilderResult;
           28   30     2          gse  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
           0    26      27  Class java.security.GeneralSecurityException
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
           Name  Flags
      certChain  

  public java.security.KeyStore getTrustStore();
    descriptor: ()Ljava/security/KeyStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
         0: .line 267
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._trustStore:Ljava/security/KeyStore;
            areturn
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/util/security/CertificateValidator;

  public java.util.Collection<? extends java.security.cert.CRL> getCrls();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
         0: .line 272
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._crls:Ljava/util/Collection;
            areturn
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/util/security/CertificateValidator;
    Signature: ()Ljava/util/Collection<+Ljava/security/cert/CRL;>;

  public int getMaxCertPathLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
         0: .line 281
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._maxCertPathLength:I
            ireturn
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/util/security/CertificateValidator;

  public void setMaxCertPathLength(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // int maxCertPathLength
         0: .line 290
            aload 0 /* this */
            iload 1 /* maxCertPathLength */
            putfield org.eclipse.jetty.util.security.CertificateValidator._maxCertPathLength:I
         1: .line 291
            return
        end local 1 // int maxCertPathLength
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0    2     1  maxCertPathLength  I
    MethodParameters:
                   Name  Flags
      maxCertPathLength  

  public boolean isEnableCRLDP();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
         0: .line 298
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._enableCRLDP:Z
            ireturn
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/util/security/CertificateValidator;

  public void setEnableCRLDP(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // boolean enableCRLDP
         0: .line 308
            aload 0 /* this */
            iload 1 /* enableCRLDP */
            putfield org.eclipse.jetty.util.security.CertificateValidator._enableCRLDP:Z
         1: .line 309
            return
        end local 1 // boolean enableCRLDP
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0    2     1  enableCRLDP  Z
    MethodParameters:
             Name  Flags
      enableCRLDP  

  public boolean isEnableOCSP();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
         0: .line 316
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._enableOCSP:Z
            ireturn
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/util/security/CertificateValidator;

  public void setEnableOCSP(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // boolean enableOCSP
         0: .line 326
            aload 0 /* this */
            iload 1 /* enableOCSP */
            putfield org.eclipse.jetty.util.security.CertificateValidator._enableOCSP:Z
         1: .line 327
            return
        end local 1 // boolean enableOCSP
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0    2     1  enableOCSP  Z
    MethodParameters:
            Name  Flags
      enableOCSP  

  public java.lang.String getOcspResponderURL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
         0: .line 334
            aload 0 /* this */
            getfield org.eclipse.jetty.util.security.CertificateValidator._ocspResponderURL:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/util/security/CertificateValidator;

  public void setOcspResponderURL(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.util.security.CertificateValidator this
        start local 1 // java.lang.String ocspResponderURL
         0: .line 344
            aload 0 /* this */
            aload 1 /* ocspResponderURL */
            putfield org.eclipse.jetty.util.security.CertificateValidator._ocspResponderURL:Ljava/lang/String;
         1: .line 345
            return
        end local 1 // java.lang.String ocspResponderURL
        end local 0 // org.eclipse.jetty.util.security.CertificateValidator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/eclipse/jetty/util/security/CertificateValidator;
            0    2     1  ocspResponderURL  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      ocspResponderURL  
}
SourceFile: "CertificateValidator.java"