public final class io.vertx.ext.auth.impl.jose.JWS
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.vertx.ext.auth.impl.jose.JWS
  super_class: java.lang.Object
{
  public static final java.lang.String ES256;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ES256"

  public static final java.lang.String ES384;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ES384"

  public static final java.lang.String ES512;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ES512"

  public static final java.lang.String PS256;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PS256"

  public static final java.lang.String PS384;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PS384"

  public static final java.lang.String PS512;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PS512"

  public static final java.lang.String ES256K;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ES256K"

  public static final java.lang.String RS256;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RS256"

  public static final java.lang.String RS384;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RS384"

  public static final java.lang.String RS512;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RS512"

  public static final java.lang.String RS1;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "RS1"

  private static final java.security.cert.CertificateFactory X509;
    descriptor: Ljava/security/cert/CertificateFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 53
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            putstatic io.vertx.ext.auth.impl.jose.JWS.X509:Ljava/security/cert/CertificateFactory;
         1: .line 54
            goto 4
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         2: astore 0 /* e */
        start local 0 // java.security.cert.CertificateException e
         3: .line 55
            new java.lang.RuntimeException
            dup
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.security.cert.CertificateException e
         4: .line 57
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    4     0     e  Ljava/security/cert/CertificateException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.security.cert.CertificateException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.impl.jose.JWS this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.auth.impl.jose.JWS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/impl/jose/JWS;

  public static java.security.Signature getSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/Signature;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // java.lang.String alg
         0: .line 62
            aload 0 /* alg */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 11
                81424: 1
             66245349: 2
             66246401: 3
             66248104: 4
             76404080: 5
             76405132: 6
             76406835: 7
             78251122: 8
             78252174: 9
             78253877: 10
           2053605894: 11
              default: 28
          }
      StackMap locals: java.lang.String top java.lang.String
      StackMap stack:
         1: aload 2
            ldc "RS1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 28
      StackMap locals:
      StackMap stack:
         2: aload 2
            ldc "ES256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 28
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "ES384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 28
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "ES512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 28
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "PS256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 28
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "PS384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 28
      StackMap locals:
      StackMap stack:
         7: aload 2
            ldc "PS512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 28
      StackMap locals:
      StackMap stack:
         8: aload 2
            ldc "RS256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 28
      StackMap locals:
      StackMap stack:
         9: aload 2
            ldc "RS384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 28
      StackMap locals:
      StackMap stack:
        10: aload 2
            ldc "RS512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 28
      StackMap locals:
      StackMap stack:
        11: aload 2
            ldc "ES256K"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 28
        12: .line 65
      StackMap locals:
      StackMap stack:
            ldc "SHA256withECDSA"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            areturn
        13: .line 67
      StackMap locals:
      StackMap stack:
            ldc "SHA384withECDSA"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            areturn
        14: .line 69
      StackMap locals:
      StackMap stack:
            ldc "SHA512withECDSA"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            areturn
        15: .line 71
      StackMap locals:
      StackMap stack:
            ldc "SHA256withRSA"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            areturn
        16: .line 73
      StackMap locals:
      StackMap stack:
            ldc "SHA384withRSA"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            areturn
        17: .line 75
      StackMap locals:
      StackMap stack:
            ldc "SHA512withRSA"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            areturn
        18: .line 77
      StackMap locals:
      StackMap stack:
            ldc "SHA1withRSA"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            areturn
        19: .line 79
      StackMap locals:
      StackMap stack:
            ldc "RSASSA-PSS"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 1 /* sig */
        start local 1 // java.security.Signature sig
        20: .line 80
            aload 1 /* sig */
            new java.security.spec.PSSParameterSpec
            dup
            ldc "SHA-256"
            ldc "MGF1"
            getstatic java.security.spec.MGF1ParameterSpec.SHA256:Ljava/security/spec/MGF1ParameterSpec;
            bipush 32
            iconst_1
            invokespecial java.security.spec.PSSParameterSpec.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V
            invokevirtual java.security.Signature.setParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
        21: .line 81
            aload 1 /* sig */
            areturn
        end local 1 // java.security.Signature sig
        22: .line 83
      StackMap locals:
      StackMap stack:
            ldc "RSASSA-PSS"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 1 /* sig */
        start local 1 // java.security.Signature sig
        23: .line 84
            aload 1 /* sig */
            new java.security.spec.PSSParameterSpec
            dup
            ldc "SHA-384"
            ldc "MGF1"
            getstatic java.security.spec.MGF1ParameterSpec.SHA384:Ljava/security/spec/MGF1ParameterSpec;
            bipush 48
            iconst_1
            invokespecial java.security.spec.PSSParameterSpec.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V
            invokevirtual java.security.Signature.setParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
        24: .line 85
            aload 1 /* sig */
            areturn
        end local 1 // java.security.Signature sig
        25: .line 87
      StackMap locals:
      StackMap stack:
            ldc "RSASSA-PSS"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 1 /* sig */
        start local 1 // java.security.Signature sig
        26: .line 88
            aload 1 /* sig */
            new java.security.spec.PSSParameterSpec
            dup
            ldc "SHA-512"
            ldc "MGF1"
            getstatic java.security.spec.MGF1ParameterSpec.SHA512:Ljava/security/spec/MGF1ParameterSpec;
            bipush 64
            iconst_1
            invokespecial java.security.spec.PSSParameterSpec.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V
            invokevirtual java.security.Signature.setParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
        27: .line 89
            aload 1 /* sig */
            areturn
        end local 1 // java.security.Signature sig
        28: .line 91
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
            invokespecial java.security.NoSuchAlgorithmException.<init>:()V
            athrow
        end local 0 // java.lang.String alg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0   alg  Ljava/lang/String;
           20   22     1   sig  Ljava/security/Signature;
           23   25     1   sig  Ljava/security/Signature;
           26   28     1   sig  Ljava/security/Signature;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
      Name  Flags
      alg   

  public static boolean verifySignature(java.lang.String, java.security.cert.X509Certificate, byte[], byte[]);
    descriptor: (Ljava/lang/String;Ljava/security/cert/X509Certificate;[B[B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.String alg
        start local 1 // java.security.cert.X509Certificate certificate
        start local 2 // byte[] signature
        start local 3 // byte[] data
         0: .line 104
            aload 0 /* alg */
            ifnull 1
            aload 1 /* certificate */
            ifnull 1
            aload 2 /* signature */
            ifnull 1
            aload 3 /* data */
            ifnonnull 2
         1: .line 105
      StackMap locals:
      StackMap stack:
            new java.security.SignatureException
            dup
            ldc "Cannot validate signature, one of {alg, certificate, signature, data} is null"
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* alg */
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
             66245349: 3
             66246401: 4
             66248104: 5
           2053605894: 6
              default: 9
          }
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 4
            ldc "ES256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 9
      StackMap locals:
      StackMap stack:
         4: aload 4
            ldc "ES384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 9
      StackMap locals:
      StackMap stack:
         5: aload 4
            ldc "ES512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 9
      StackMap locals:
      StackMap stack:
         6: aload 4
            ldc "ES256K"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 9
         7: .line 114
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            invokestatic io.vertx.ext.auth.impl.jose.JWS.isASN1:([B)Z
            ifne 9
         8: .line 115
            aload 2 /* signature */
            invokestatic io.vertx.ext.auth.impl.jose.JWS.toASN1:([B)[B
            astore 2 /* signature */
         9: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* alg */
            invokestatic io.vertx.ext.auth.impl.jose.JWS.getSignature:(Ljava/lang/String;)Ljava/security/Signature;
            astore 5 /* sig */
        start local 5 // java.security.Signature sig
        10: .line 122
            aload 5 /* sig */
            aload 1 /* certificate */
            invokevirtual java.security.Signature.initVerify:(Ljava/security/cert/Certificate;)V
        11: .line 123
            aload 5 /* sig */
            aload 3 /* data */
            invokevirtual java.security.Signature.update:([B)V
        12: .line 125
            aload 5 /* sig */
            aload 2 /* signature */
            invokevirtual java.security.Signature.verify:([B)Z
            ireturn
        end local 5 // java.security.Signature sig
        end local 3 // byte[] data
        end local 2 // byte[] signature
        end local 1 // java.security.cert.X509Certificate certificate
        end local 0 // java.lang.String alg
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0          alg  Ljava/lang/String;
            0   13     1  certificate  Ljava/security/cert/X509Certificate;
            0   13     2    signature  [B
            0   13     3         data  [B
           10   13     5          sig  Ljava/security/Signature;
    Exceptions:
      throws java.security.InvalidKeyException, java.security.SignatureException, java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException
    MethodParameters:
             Name  Flags
      alg          
      certificate  
      signature    
      data         

  public static int getSignatureLength(java.lang.String, java.security.PublicKey);
    descriptor: (Ljava/lang/String;Ljava/security/PublicKey;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String alg
        start local 1 // java.security.PublicKey publicKey
         0: .line 129
            aload 1 /* publicKey */
            instanceof java.security.interfaces.RSAKey
            ifeq 2
         1: .line 130
            aload 1 /* publicKey */
            checkcast java.security.interfaces.RSAKey
            invokeinterface java.security.interfaces.RSAKey.getModulus:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.bitLength:()I
            bipush 7
            iadd
            iconst_3
            ishr
            ireturn
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* alg */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 11
                81424: 3
             66245349: 4
             66246401: 5
             66248104: 6
             76404080: 7
             76405132: 8
             76406835: 9
             78251122: 10
             78252174: 11
             78253877: 12
           2053605894: 13
              default: 20
          }
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 2
            ldc "RS1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 20
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "ES256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 20
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "ES384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 20
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "ES512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 20
      StackMap locals:
      StackMap stack:
         7: aload 2
            ldc "PS256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 20
      StackMap locals:
      StackMap stack:
         8: aload 2
            ldc "PS384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 20
      StackMap locals:
      StackMap stack:
         9: aload 2
            ldc "PS512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 20
      StackMap locals:
      StackMap stack:
        10: aload 2
            ldc "RS256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 20
      StackMap locals:
      StackMap stack:
        11: aload 2
            ldc "RS384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 20
      StackMap locals:
      StackMap stack:
        12: aload 2
            ldc "RS512"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 20
      StackMap locals:
      StackMap stack:
        13: aload 2
            ldc "ES256K"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 20
        14: .line 135
      StackMap locals:
      StackMap stack:
            bipush 64
            ireturn
        15: .line 137
      StackMap locals:
      StackMap stack:
            bipush 96
            ireturn
        16: .line 139
      StackMap locals:
      StackMap stack:
            sipush 132
            ireturn
        17: .line 143
      StackMap locals:
      StackMap stack:
            sipush 256
            ireturn
        18: .line 146
      StackMap locals:
      StackMap stack:
            sipush 384
            ireturn
        19: .line 149
      StackMap locals:
      StackMap stack:
            sipush 512
            ireturn
        20: .line 151
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
            invokespecial java.security.NoSuchAlgorithmException.<init>:()V
            athrow
        end local 1 // java.security.PublicKey publicKey
        end local 0 // java.lang.String alg
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0        alg  Ljava/lang/String;
            0   21     1  publicKey  Ljava/security/PublicKey;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
           Name  Flags
      alg        
      publicKey  

  public static java.security.cert.X509Certificate parseX5c(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/cert/X509Certificate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String data
         0: .line 157
            getstatic io.vertx.ext.auth.impl.jose.JWS.X509:Ljava/security/cert/CertificateFactory;
         1: .line 159
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* data */
            ldc "CERTIFICATE"
            invokestatic io.vertx.ext.auth.impl.jose.JWS.addBoundaries:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         2: .line 158
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
         3: .line 157
            checkcast java.security.cert.X509Certificate
            areturn
        end local 0 // java.lang.String data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  data  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      data  

  public static java.security.cert.X509Certificate parseX5c(byte[]);
    descriptor: ([B)Ljava/security/cert/X509Certificate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // byte[] data
         0: .line 163
            getstatic io.vertx.ext.auth.impl.jose.JWS.X509:Ljava/security/cert/CertificateFactory;
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* data */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            areturn
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  data  [B
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      data  

  public static java.security.cert.X509CRL parseX5crl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/cert/X509CRL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String data
         0: .line 167
            getstatic io.vertx.ext.auth.impl.jose.JWS.X509:Ljava/security/cert/CertificateFactory;
         1: .line 169
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* data */
            ldc "X509 CRL"
            invokestatic io.vertx.ext.auth.impl.jose.JWS.addBoundaries:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         2: .line 168
            invokevirtual java.security.cert.CertificateFactory.generateCRL:(Ljava/io/InputStream;)Ljava/security/cert/CRL;
         3: .line 167
            checkcast java.security.cert.X509CRL
            areturn
        end local 0 // java.lang.String data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  data  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CRLException
    MethodParameters:
      Name  Flags
      data  

  public static java.security.cert.X509CRL parseX5crl(byte[]);
    descriptor: ([B)Ljava/security/cert/X509CRL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // byte[] data
         0: .line 173
            getstatic io.vertx.ext.auth.impl.jose.JWS.X509:Ljava/security/cert/CertificateFactory;
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* data */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokevirtual java.security.cert.CertificateFactory.generateCRL:(Ljava/io/InputStream;)Ljava/security/cert/CRL;
            checkcast java.security.cert.X509CRL
            areturn
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  data  [B
    Exceptions:
      throws java.security.cert.CRLException
    MethodParameters:
      Name  Flags
      data  

  private static boolean byteAtIndexIs(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // byte[] data
        start local 1 // int idx
        start local 2 // int expected
         0: .line 177
            aload 0 /* data */
            ifnonnull 2
         1: .line 178
            iconst_0
            ireturn
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            arraylength
            iload 1 /* idx */
            if_icmpgt 4
         3: .line 181
            iconst_0
            ireturn
         4: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            iload 1 /* idx */
            baload
            invokestatic java.lang.Byte.toUnsignedInt:(B)I
            iload 2 /* expected */
            if_icmpne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // int expected
        end local 1 // int idx
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      data  [B
            0    6     1       idx  I
            0    6     2  expected  I
    MethodParameters:
          Name  Flags
      data      
      idx       
      expected  

  private static boolean byteAtIndexLte(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // byte[] data
        start local 1 // int idx
        start local 2 // int expected
         0: .line 187
            aload 0 /* data */
            ifnonnull 2
         1: .line 188
            iconst_0
            ireturn
         2: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            arraylength
            iload 1 /* idx */
            if_icmpgt 4
         3: .line 191
            iconst_0
            ireturn
         4: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            iload 1 /* idx */
            baload
            ifgt 6
         5: .line 194
            iconst_0
            ireturn
         6: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            iload 1 /* idx */
            baload
            invokestatic java.lang.Byte.toUnsignedInt:(B)I
            iload 2 /* expected */
            if_icmpgt 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // int expected
        end local 1 // int idx
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      data  [B
            0    8     1       idx  I
            0    8     2  expected  I
    MethodParameters:
          Name  Flags
      data      
      idx       
      expected  

  public static boolean isASN1(byte[]);
    descriptor: ([B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // byte[] sig
         0: .line 205
            aload 0 /* sig */
            iconst_0
            bipush 48
            invokestatic io.vertx.ext.auth.impl.jose.JWS.byteAtIndexIs:([BII)Z
            ifne 2
         1: .line 206
            iconst_0
            ireturn
         2: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            arraylength
            sipush 128
            if_icmpge 5
         3: .line 212
            iconst_0
            istore 1 /* offset */
        start local 1 // int offset
         4: .line 213
            goto 8
        end local 1 // int offset
         5: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            iconst_1
            sipush 129
            invokestatic io.vertx.ext.auth.impl.jose.JWS.byteAtIndexIs:([BII)Z
            ifne 7
         6: .line 216
            iconst_0
            ireturn
         7: .line 218
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* offset */
        start local 1 // int offset
         8: .line 224
      StackMap locals: int
      StackMap stack:
            aload 0 /* sig */
            iload 1 /* offset */
            iconst_1
            iadd
            aload 0 /* sig */
            arraylength
            iload 1 /* offset */
            isub
            iconst_2
            isub
            invokestatic io.vertx.ext.auth.impl.jose.JWS.byteAtIndexIs:([BII)Z
            ifne 10
         9: .line 225
            iconst_0
            ireturn
        10: .line 228
      StackMap locals:
      StackMap stack:
            iinc 1 /* offset */ 2
        11: .line 230
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        12: goto 19
        13: .line 233
      StackMap locals: int
      StackMap stack:
            aload 0 /* sig */
            iload 1 /* offset */
            iconst_2
            invokestatic io.vertx.ext.auth.impl.jose.JWS.byteAtIndexIs:([BII)Z
            ifne 15
        14: .line 234
            iconst_0
            ireturn
        15: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            iload 1 /* offset */
            iconst_1
            iadd
            aload 0 /* sig */
            arraylength
            iload 1 /* offset */
            isub
            iconst_2
            isub
            invokestatic io.vertx.ext.auth.impl.jose.JWS.byteAtIndexLte:([BII)Z
            ifne 17
        16: .line 238
            iconst_0
            ireturn
        17: .line 241
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            aload 0 /* sig */
            iload 1 /* offset */
            iconst_1
            iadd
            baload
            iadd
            iconst_2
            iadd
            istore 1 /* offset */
        18: .line 230
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 2 /* i */
            iconst_2
            if_icmplt 13
        end local 2 // int i
        20: .line 244
            iload 1 /* offset */
            aload 0 /* sig */
            arraylength
            if_icmpne 21
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        21: iconst_0
            ireturn
        end local 1 // int offset
        end local 0 // byte[] sig
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0     sig  [B
            4    5     1  offset  I
            8   22     1  offset  I
           12   20     2       i  I
    MethodParameters:
      Name  Flags
      sig   

  public static byte[] toJWS(byte[], int);
    descriptor: ([BI)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // byte[] derSignature
        start local 1 // int signatureLength
         0: .line 258
            aload 0 /* derSignature */
            arraylength
            bipush 8
            if_icmplt 1
            aload 0 /* derSignature */
            iconst_0
            baload
            bipush 48
            if_icmpeq 2
         1: .line 259
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "Invalid ECDSA signature format"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* derSignature */
            iconst_1
            baload
            ifle 5
         3: .line 264
            iconst_2
            istore 2 /* offset */
        start local 2 // int offset
         4: .line 265
            goto 9
        end local 2 // int offset
      StackMap locals:
      StackMap stack:
         5: aload 0 /* derSignature */
            iconst_1
            baload
            bipush -127
            if_icmpne 8
         6: .line 266
            iconst_3
            istore 2 /* offset */
        start local 2 // int offset
         7: .line 267
            goto 9
        end local 2 // int offset
         8: .line 268
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "Invalid ECDSA signature format"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // int offset
         9: .line 271
      StackMap locals: int
      StackMap stack:
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_1
            iadd
            baload
            istore 3 /* rLength */
        start local 3 // byte rLength
        10: .line 273
            iload 3 /* rLength */
            istore 4 /* i */
        start local 4 // int i
        11: .line 274
            goto 13
        12: .line 276
      StackMap locals: int int
      StackMap stack:
            iinc 4 /* i */ -1
        13: .line 274
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifle 15
        14: .line 275
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_2
            iadd
            iload 3 /* rLength */
            iadd
            iload 4 /* i */
            isub
            baload
            ifeq 12
        15: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_2
            iadd
            iload 3 /* rLength */
            iadd
            iconst_1
            iadd
            baload
            istore 5 /* sLength */
        start local 5 // byte sLength
        16: .line 280
            iload 5 /* sLength */
            istore 6 /* j */
        start local 6 // int j
        17: .line 281
            goto 19
        18: .line 283
      StackMap locals: int int
      StackMap stack:
            iinc 6 /* j */ -1
        19: .line 281
      StackMap locals:
      StackMap stack:
            iload 6 /* j */
            ifle 21
        20: .line 282
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_2
            iadd
            iload 3 /* rLength */
            iadd
            iconst_2
            iadd
            iload 5 /* sLength */
            iadd
            iload 6 /* j */
            isub
            baload
            ifeq 18
        21: .line 285
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 6 /* j */
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* rawLen */
        start local 7 // int rawLen
        22: .line 286
            iload 7 /* rawLen */
            iload 1 /* signatureLength */
            iconst_2
            idiv
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* rawLen */
        23: .line 288
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_1
            isub
            baload
            sipush 255
            iand
            aload 0 /* derSignature */
            arraylength
            iload 2 /* offset */
            isub
            if_icmpne 27
        24: .line 289
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_1
            isub
            baload
            sipush 255
            iand
            iconst_2
            iload 3 /* rLength */
            iadd
            iconst_2
            iadd
            iload 5 /* sLength */
            iadd
            if_icmpne 27
        25: .line 290
            aload 0 /* derSignature */
            iload 2 /* offset */
            baload
            iconst_2
            if_icmpne 27
        26: .line 291
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_2
            iadd
            iload 3 /* rLength */
            iadd
            baload
            iconst_2
            if_icmpeq 28
        27: .line 292
      StackMap locals: int
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "Invalid ECDSA signature format"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 295
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 7 /* rawLen */
            imul
            newarray 8
            astore 8 /* concatSignature */
        start local 8 // byte[] concatSignature
        29: .line 297
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_2
            iadd
            iload 3 /* rLength */
            iadd
            iload 4 /* i */
            isub
            aload 8 /* concatSignature */
            iload 7 /* rawLen */
            iload 4 /* i */
            isub
            iload 4 /* i */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        30: .line 298
            aload 0 /* derSignature */
            iload 2 /* offset */
            iconst_2
            iadd
            iload 3 /* rLength */
            iadd
            iconst_2
            iadd
            iload 5 /* sLength */
            iadd
            iload 6 /* j */
            isub
            aload 8 /* concatSignature */
            iconst_2
            iload 7 /* rawLen */
            imul
            iload 6 /* j */
            isub
            iload 6 /* j */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        31: .line 300
            aload 8 /* concatSignature */
            areturn
        end local 8 // byte[] concatSignature
        end local 7 // int rawLen
        end local 6 // int j
        end local 5 // byte sLength
        end local 4 // int i
        end local 3 // byte rLength
        end local 2 // int offset
        end local 1 // int signatureLength
        end local 0 // byte[] derSignature
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0     derSignature  [B
            0   32     1  signatureLength  I
            4    5     2           offset  I
            7    8     2           offset  I
            9   32     2           offset  I
           10   32     3          rLength  B
           11   32     4                i  I
           16   32     5          sLength  B
           17   32     6                j  I
           22   32     7           rawLen  I
           29   32     8  concatSignature  [B
    MethodParameters:
                 Name  Flags
      derSignature     final
      signatureLength  

  public static byte[] toASN1(byte[]);
    descriptor: ([B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // byte[] jwsSignature
         0: .line 315
            aload 0 /* jwsSignature */
            arraylength
            iconst_2
            idiv
            istore 1 /* rawLen */
        start local 1 // int rawLen
         1: .line 317
            iload 1 /* rawLen */
            istore 2 /* i */
        start local 2 // int i
         2: .line 319
            goto 4
         3: .line 321
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* i */ -1
         4: .line 319
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            ifle 6
         5: .line 320
            aload 0 /* jwsSignature */
            iload 1 /* rawLen */
            iload 2 /* i */
            isub
            baload
            ifeq 3
         6: .line 323
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            istore 3 /* j */
        start local 3 // int j
         7: .line 325
            aload 0 /* jwsSignature */
            iload 1 /* rawLen */
            iload 2 /* i */
            isub
            baload
            ifge 9
         8: .line 326
            iinc 3 /* j */ 1
         9: .line 329
      StackMap locals: int
      StackMap stack:
            iload 1 /* rawLen */
            istore 4 /* k */
        start local 4 // int k
        10: .line 331
            goto 12
        11: .line 333
      StackMap locals: int
      StackMap stack:
            iinc 4 /* k */ -1
        12: .line 331
      StackMap locals:
      StackMap stack:
            iload 4 /* k */
            ifle 14
        13: .line 332
            aload 0 /* jwsSignature */
            iconst_2
            iload 1 /* rawLen */
            imul
            iload 4 /* k */
            isub
            baload
            ifeq 11
        14: .line 335
      StackMap locals:
      StackMap stack:
            iload 4 /* k */
            istore 5 /* l */
        start local 5 // int l
        15: .line 337
            aload 0 /* jwsSignature */
            iconst_2
            iload 1 /* rawLen */
            imul
            iload 4 /* k */
            isub
            baload
            ifge 17
        16: .line 338
            iinc 5 /* l */ 1
        17: .line 341
      StackMap locals: int
      StackMap stack:
            iconst_2
            iload 3 /* j */
            iadd
            iconst_2
            iadd
            iload 5 /* l */
            iadd
            istore 6 /* len */
        start local 6 // int len
        18: .line 343
            iload 6 /* len */
            sipush 255
            if_icmple 20
        19: .line 344
            new java.lang.RuntimeException
            dup
            ldc "Invalid ECDSA signature format"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 351
      StackMap locals: int
      StackMap stack:
            iload 6 /* len */
            sipush 128
            if_icmpge 24
        21: .line 352
            iconst_4
            iload 3 /* j */
            iadd
            iconst_2
            iadd
            iload 5 /* l */
            iadd
            newarray 8
            astore 8 /* derSignature */
        start local 8 // byte[] derSignature
        22: .line 353
            iconst_1
            istore 7 /* offset */
        start local 7 // int offset
        23: .line 354
            goto 27
        end local 8 // byte[] derSignature
        end local 7 // int offset
        24: .line 355
      StackMap locals:
      StackMap stack:
            iconst_5
            iload 3 /* j */
            iadd
            iconst_2
            iadd
            iload 5 /* l */
            iadd
            newarray 8
            astore 8 /* derSignature */
        start local 8 // byte[] derSignature
        25: .line 356
            aload 8 /* derSignature */
            iconst_1
            bipush -127
            bastore
        26: .line 357
            iconst_2
            istore 7 /* offset */
        start local 7 // int offset
        27: .line 360
      StackMap locals: int byte[]
      StackMap stack:
            aload 8 /* derSignature */
            iconst_0
            bipush 48
            bastore
        28: .line 361
            aload 8 /* derSignature */
            iload 7 /* offset */
            iinc 7 /* offset */ 1
            iload 6 /* len */
            i2b
            bastore
        29: .line 362
            aload 8 /* derSignature */
            iload 7 /* offset */
            iinc 7 /* offset */ 1
            iconst_2
            bastore
        30: .line 363
            aload 8 /* derSignature */
            iload 7 /* offset */
            iinc 7 /* offset */ 1
            iload 3 /* j */
            i2b
            bastore
        31: .line 365
            aload 0 /* jwsSignature */
            iload 1 /* rawLen */
            iload 2 /* i */
            isub
            aload 8 /* derSignature */
            iload 7 /* offset */
            iload 3 /* j */
            iadd
            iload 2 /* i */
            isub
            iload 2 /* i */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        32: .line 367
            iload 7 /* offset */
            iload 3 /* j */
            iadd
            istore 7 /* offset */
        33: .line 369
            aload 8 /* derSignature */
            iload 7 /* offset */
            iinc 7 /* offset */ 1
            iconst_2
            bastore
        34: .line 370
            aload 8 /* derSignature */
            iload 7 /* offset */
            iinc 7 /* offset */ 1
            iload 5 /* l */
            i2b
            bastore
        35: .line 372
            aload 0 /* jwsSignature */
            iconst_2
            iload 1 /* rawLen */
            imul
            iload 4 /* k */
            isub
            aload 8 /* derSignature */
            iload 7 /* offset */
            iload 5 /* l */
            iadd
            iload 4 /* k */
            isub
            iload 4 /* k */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        36: .line 374
            aload 8 /* derSignature */
            areturn
        end local 8 // byte[] derSignature
        end local 7 // int offset
        end local 6 // int len
        end local 5 // int l
        end local 4 // int k
        end local 3 // int j
        end local 2 // int i
        end local 1 // int rawLen
        end local 0 // byte[] jwsSignature
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0  jwsSignature  [B
            1   37     1        rawLen  I
            2   37     2             i  I
            7   37     3             j  I
           10   37     4             k  I
           15   37     5             l  I
           18   37     6           len  I
           23   24     7        offset  I
           27   37     7        offset  I
           22   24     8  derSignature  [B
           25   37     8  derSignature  [B
    MethodParameters:
              Name  Flags
      jwsSignature  

  private static java.lang.String addBoundaries(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String certificate
        start local 1 // java.lang.String boundary
         0: .line 379
            new java.lang.StringBuilder
            dup
            ldc "-----BEGIN "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* boundary */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "-----\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* CERT_BOUNDARY_BEGIN */
        start local 2 // java.lang.String CERT_BOUNDARY_BEGIN
         1: .line 380
            new java.lang.StringBuilder
            dup
            ldc "\n-----END "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* boundary */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "-----\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* CERT_BOUNDARY_END */
        start local 3 // java.lang.String CERT_BOUNDARY_END
         2: .line 382
            aload 0 /* certificate */
            aload 2 /* CERT_BOUNDARY_BEGIN */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 4
            aload 0 /* certificate */
            aload 3 /* CERT_BOUNDARY_END */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 4
         3: .line 384
            aload 0 /* certificate */
            areturn
         4: .line 388
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* CERT_BOUNDARY_BEGIN */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 389
            aload 0 /* certificate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 390
            aload 3 /* CERT_BOUNDARY_END */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 388
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 387
            areturn
        end local 3 // java.lang.String CERT_BOUNDARY_END
        end local 2 // java.lang.String CERT_BOUNDARY_BEGIN
        end local 1 // java.lang.String boundary
        end local 0 // java.lang.String certificate
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0          certificate  Ljava/lang/String;
            0    9     1             boundary  Ljava/lang/String;
            1    9     2  CERT_BOUNDARY_BEGIN  Ljava/lang/String;
            2    9     3    CERT_BOUNDARY_END  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      certificate  final
      boundary     final
}
SourceFile: "JWS.java"