final class com.oracle.security.ucrypto.NativeKey$RSAPublic extends com.oracle.security.ucrypto.NativeKey implements java.security.interfaces.RSAPublicKey
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.security.ucrypto.NativeKey$RSAPublic
super_class: com.oracle.security.ucrypto.NativeKey
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6812507588904302832
private final java.security.spec.RSAPublicKeySpec keySpec;
descriptor: Ljava/security/spec/RSAPublicKeySpec;
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=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
iconst_2
invokespecial com.oracle.security.ucrypto.NativeKey.<init>:(I)V
1: lconst_0
lstore 2
start local 2 2: aload 1
instanceof java.security.spec.RSAPublicKeySpec
ifeq 10
3: aload 1
checkcast java.security.spec.RSAPublicKeySpec
astore 4
start local 4 4: aload 4
invokevirtual java.security.spec.RSAPublicKeySpec.getModulus:()Ljava/math/BigInteger;
astore 5
start local 5 5: aload 4
invokevirtual java.security.spec.RSAPublicKeySpec.getPublicExponent:()Ljava/math/BigInteger;
astore 6
start local 6 6: aload 5
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
7: aload 6
invokestatic com.oracle.security.ucrypto.NativeKey.getMagnitude:(Ljava/math/BigInteger;)[B
8: invokestatic com.oracle.security.ucrypto.NativeKey$RSAPublic.nativeInit:([B[B)J
lstore 2
end local 6 end local 5 end local 4 9: goto 13
10: StackMap locals: com.oracle.security.ucrypto.NativeKey$RSAPublic java.security.spec.KeySpec long
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
new java.lang.StringBuilder
dup
ldc "Only supports RSAPublicKeySpec. Received: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: 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;
12: invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 15
14: new com.oracle.security.ucrypto.UcryptoException
dup
ldc "Error constructing RSA PublicKey"
invokespecial com.oracle.security.ucrypto.UcryptoException.<init>:(Ljava/lang/String;)V
athrow
15: 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
16: aload 0
aload 1
checkcast java.security.spec.RSAPublicKeySpec
putfield com.oracle.security.ucrypto.NativeKey$RSAPublic.keySpec:Ljava/security/spec/RSAPublicKeySpec;
17: aload 0
lload 2
putfield com.oracle.security.ucrypto.NativeKey$RSAPublic.keyId:J
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPublic;
0 19 1 keySpec Ljava/security/spec/KeySpec;
2 19 2 pKey J
4 9 4 ks Ljava/security/spec/RSAPublicKeySpec;
5 9 5 mod Ljava/math/BigInteger;
6 9 6 publicExp 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$RSAPublic.keyId:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPublic;
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$RSAPublic.keySpec:Ljava/security/spec/RSAPublicKeySpec;
invokevirtual java.security.spec.RSAPublicKeySpec.getModulus:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPublic;
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$RSAPublic.keySpec:Ljava/security/spec/RSAPublicKeySpec;
invokevirtual java.security.spec.RSAPublicKeySpec.getPublicExponent:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeKey$RSAPublic;
private static native long nativeInit(byte[], byte[]);
descriptor: ([B[B)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
mod
pubExp
}
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 RSAPublic = com.oracle.security.ucrypto.NativeKey$RSAPublic of com.oracle.security.ucrypto.NativeKey