class io.vertx.ext.jwt.CryptoSignature extends io.vertx.ext.jwt.CryptoKeyPair
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.ext.jwt.CryptoSignature
super_class: io.vertx.ext.jwt.CryptoKeyPair
{
private final java.security.Signature sig;
descriptor: Ljava/security/Signature;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.security.cert.X509Certificate certificate;
descriptor: Ljava/security/cert/X509Certificate;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean ecdsa;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.lang.String, java.security.cert.X509Certificate, java.security.PrivateKey);
descriptor: (Ljava/lang/String;Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aconst_null
aload 3
invokespecial io.vertx.ext.jwt.CryptoKeyPair.<init>:(Ljava/lang/String;Ljava/security/PublicKey;Ljava/security/PrivateKey;)V
1: aload 0
aload 2
putfield io.vertx.ext.jwt.CryptoSignature.certificate:Ljava/security/cert/X509Certificate;
2: aload 0
aload 0
aload 1
invokevirtual io.vertx.ext.jwt.CryptoSignature.isECDSA:(Ljava/lang/String;)Z
putfield io.vertx.ext.jwt.CryptoSignature.ecdsa:Z
3: aload 1
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 4
start local 4 4: goto 10
end local 4 StackMap locals: io.vertx.ext.jwt.CryptoSignature java.lang.String java.security.cert.X509Certificate java.security.PrivateKey
StackMap stack: java.security.NoSuchAlgorithmException
5: astore 5
start local 5 6: aload 2
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 4
start local 4 7: goto 10
end local 4 StackMap locals: io.vertx.ext.jwt.CryptoSignature java.lang.String java.security.cert.X509Certificate java.security.PrivateKey top java.security.NoSuchAlgorithmException
StackMap stack: java.security.NoSuchAlgorithmException
8: pop
9: new java.lang.RuntimeException
dup
aload 5
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 10: StackMap locals: io.vertx.ext.jwt.CryptoSignature java.lang.String java.security.cert.X509Certificate java.security.PrivateKey java.security.Signature
StackMap stack:
aload 0
aload 4
putfield io.vertx.ext.jwt.CryptoSignature.sig:Ljava/security/Signature;
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/jwt/CryptoSignature;
0 12 1 algorithm Ljava/lang/String;
0 12 2 certificate Ljava/security/cert/X509Certificate;
0 12 3 privateKey Ljava/security/PrivateKey;
4 5 4 signature Ljava/security/Signature;
7 8 4 signature Ljava/security/Signature;
10 12 4 signature Ljava/security/Signature;
6 10 5 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
3 4 5 Class java.security.NoSuchAlgorithmException
6 7 8 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm final
certificate final
privateKey final
public synchronized boolean verify(byte[], byte[]);
descriptor: ([B[B)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.jwt.CryptoSignature.sig:Ljava/security/Signature;
aload 0
getfield io.vertx.ext.jwt.CryptoSignature.certificate:Ljava/security/cert/X509Certificate;
invokevirtual java.security.Signature.initVerify:(Ljava/security/cert/Certificate;)V
1: aload 0
getfield io.vertx.ext.jwt.CryptoSignature.sig:Ljava/security/Signature;
aload 2
invokevirtual java.security.Signature.update:([B)V
2: aload 0
getfield io.vertx.ext.jwt.CryptoSignature.ecdsa:Z
ifeq 5
3: aload 0
getfield io.vertx.ext.jwt.CryptoSignature.sig:Ljava/security/Signature;
aload 1
invokestatic io.vertx.ext.jwt.impl.SignatureHelper.toDER:([B)[B
invokevirtual java.security.Signature.verify:([B)Z
4: ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.jwt.CryptoSignature.sig:Ljava/security/Signature;
aload 1
invokevirtual java.security.Signature.verify:([B)Z
6: ireturn
7: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 3
start local 3 8: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/jwt/CryptoSignature;
0 9 1 signature [B
0 9 2 payload [B
8 9 3 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 4 7 Class java.security.SignatureException
5 6 7 Class java.security.SignatureException
0 4 7 Class java.security.InvalidKeyException
5 6 7 Class java.security.InvalidKeyException
MethodParameters:
Name Flags
signature
payload
}
SourceFile: "Crypto.java"