final class com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt extends com.oracle.security.ucrypto.NativeKey implements java.security.interfaces.RSAPrivateCrtKey
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt
super_class: com.oracle.security.ucrypto.NativeKey
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6812507588904302831
private final java.security.spec.RSAPrivateCrtKeySpec keySpec;
descriptor: Ljava/security/spec/RSAPrivateCrtKeySpec;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long keyId;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.security.spec.KeySpec);
descriptor: (Ljava/security/spec/KeySpec;)V
flags: (0x0000)
Code:
stack=8, locals=13, args_size=2
start local 0 start local 1 0: aload 0
bipush 8
invokespecial com.oracle.security.ucrypto.NativeKey.<init>:(I)V
1: lconst_0
lstore 2
start local 2 2: aload 1
instanceof java.security.spec.RSAPrivateCrtKeySpec
ifeq 22
3: aload 1
checkcast java.security.spec.RSAPrivateCrtKeySpec
astore 4
start local 4 4: aload 4
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getModulus:()Ljava/math/BigInteger;
astore 5
start local 5 5: aload 4
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPublicExponent:()Ljava/math/BigInteger;
astore 6
start local 6 6: aload 4
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
astore 7
start local 7 7: aload 4
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeP:()Ljava/math/BigInteger;
astore 8
start local 8 8: aload 4
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeQ:()Ljava/math/BigInteger;
astore 9
start local 9 9: aload 4
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentP:()Ljava/math/BigInteger;
astore 10
start local 10 10: aload 4
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentQ:()Ljava/math/BigInteger;
astore 11
start local 11 11: aload 4
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getCrtCoefficient:()Ljava/math/BigInteger;
astore 12
start local 12 12: aload 5
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
13: aload 6
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
14: aload 7
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
15: aload 8
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
16: aload 9
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
17: aload 10
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
18: aload 11
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
19: aload 12
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
20: invokestatic com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.nativeInit:([B[B[B[B[B[B[B[B)J
lstore 2
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 21: goto 25
22: StackMap locals: com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt java.security.spec.KeySpec long
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
new java.lang.StringBuilder
dup
ldc "Only supports RSAPrivateCrtKeySpec. Received: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 27
26: new com.oracle.security.ucrypto.UcryptoException
dup
ldc "Error constructing RSA PrivateCrtKey"
invokespecial com.oracle.security.ucrypto.UcryptoException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
new com.oracle.security.ucrypto.NativeKey$KeyRef
aload 0
lload 2
invokespecial com.oracle.security.ucrypto.NativeKey$KeyRef.<init>:(Lcom/oracle/security/ucrypto/NativeKey;J)V
28: aload 0
aload 1
checkcast java.security.spec.RSAPrivateCrtKeySpec
putfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
29: aload 0
lload 2
putfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keyId:J
30: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
0 31 1 keySpec Ljava/security/spec/KeySpec;
2 31 2 pKey J
4 21 4 ks Ljava/security/spec/RSAPrivateCrtKeySpec;
5 21 5 mod Ljava/math/BigInteger;
6 21 6 publicExp Ljava/math/BigInteger;
7 21 7 privateExp Ljava/math/BigInteger;
8 21 8 primeP Ljava/math/BigInteger;
9 21 9 primeQ Ljava/math/BigInteger;
10 21 10 primeExpP Ljava/math/BigInteger;
11 21 11 primeExpQ Ljava/math/BigInteger;
12 21 12 crtCoeff Ljava/math/BigInteger;
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
long value();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keyId:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
public java.math.BigInteger getModulus();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getModulus:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
public java.math.BigInteger getPublicExponent();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPublicExponent:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
public java.math.BigInteger getPrivateExponent();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
public java.math.BigInteger getPrimeP();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeP:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
public java.math.BigInteger getPrimeQ();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeQ:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
public java.math.BigInteger getPrimeExponentP();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentP:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
public java.math.BigInteger getPrimeExponentQ();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentQ:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
public java.math.BigInteger getCrtCoefficient();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt.keySpec:Ljava/security/spec/RSAPrivateCrtKeySpec;
invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getCrtCoefficient:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPrivateCrt;
private static native long nativeInit(byte[], byte[], byte[], byte[], byte[], byte[], byte[], byte[]);
descriptor: ([B[B[B[B[B[B[B[B)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
mod
pubExp
privExp
p
q
expP
expQ
crtCoeff
}
SourceFile: "NativeKey.java"
NestHost: com.oracle.security.ucrypto.NativeKey
InnerClasses:
private KeyRef = com.oracle.security.ucrypto.NativeKey$KeyRef of com.oracle.security.ucrypto.NativeKey
final RSAPrivateCrt = com.oracle.security.ucrypto.NativeKey$RSAPrivateCrt of com.oracle.security.ucrypto.NativeKey