public interface io.vertx.ext.jwt.Crypto
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.ext.jwt.Crypto
  super_class: java.lang.Object
{
  public static final java.lang.String[] ECDSA_ALGORITHMS;
    descriptor: [Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 35
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 36
            ldc "SHA256withECDSA"
            aastore
            dup
            iconst_1
         2: .line 37
            ldc "SHA384withECDSA"
            aastore
            dup
            iconst_2
         3: .line 38
            ldc "SHA512withECDSA"
            aastore
         4: .line 35
            putstatic io.vertx.ext.jwt.Crypto.ECDSA_ALGORITHMS:[Ljava/lang/String;
         5: .line 39
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public abstract java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract byte[] sign(byte[]);
    descriptor: ([B)[B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      payload  

  public abstract boolean verify(byte[], byte[]);
    descriptor: ([B[B)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      signature  
      payload    

  public boolean isECDSA(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // io.vertx.ext.jwt.Crypto this
        start local 1 // java.lang.String algorithm
         0: .line 48
            getstatic io.vertx.ext.jwt.Crypto.ECDSA_ALGORITHMS:[Ljava/lang/String;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: io.vertx.ext.jwt.Crypto java.lang.String top int int java.lang.String[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* alg */
        start local 2 // java.lang.String alg
         2: .line 49
            aload 2 /* alg */
            aload 1 /* algorithm */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 50
            iconst_1
            ireturn
        end local 2 // java.lang.String alg
         4: .line 48
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 54
            iconst_0
            ireturn
        end local 1 // java.lang.String algorithm
        end local 0 // io.vertx.ext.jwt.Crypto this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lio/vertx/ext/jwt/Crypto;
            0    7     1  algorithm  Ljava/lang/String;
            2    4     2        alg  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  

  public int ECDSALength(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.ext.jwt.Crypto this
        start local 1 // java.lang.String algorithm
         0: .line 58
            aload 1 /* algorithm */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
            637568043: 1
            982518116: 2
           1211345095: 3
              default: 7
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 2
            ldc "SHA384withECDSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 7
      StackMap locals:
      StackMap stack:
         2: aload 2
            ldc "SHA512withECDSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "SHA256withECDSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            goto 7
         4: .line 60
      StackMap locals:
      StackMap stack:
            bipush 64
            ireturn
         5: .line 62
      StackMap locals:
      StackMap stack:
            bipush 96
            ireturn
         6: .line 64
      StackMap locals:
      StackMap stack:
            sipush 132
            ireturn
         7: .line 67
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // java.lang.String algorithm
        end local 0 // io.vertx.ext.jwt.Crypto this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lio/vertx/ext/jwt/Crypto;
            0    8     1  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  
}
SourceFile: "Crypto.java"