public class com.oracle.security.ucrypto.NativeRSACipher extends javax.crypto.CipherSpi
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.security.ucrypto.NativeRSACipher
super_class: javax.crypto.CipherSpi
{
private final com.oracle.security.ucrypto.UcryptoMech mech;
descriptor: Lcom/oracle/security/ucrypto/UcryptoMech;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int padLen;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.security.ucrypto.NativeRSAKeyFactory keyFactory;
descriptor: Lcom/oracle/security/ucrypto/NativeRSAKeyFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.security.spec.AlgorithmParameterSpec spec;
descriptor: Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0002) ACC_PRIVATE
private java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0002) ACC_PRIVATE
private static final java.util.Map<java.security.Key, com.oracle.security.ucrypto.NativeKey> keyList;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/security/Key;Lcom/oracle/security/ucrypto/NativeKey;>;
private com.oracle.security.ucrypto.NativeKey key;
descriptor: Lcom/oracle/security/ucrypto/NativeKey;
flags: (0x0002) ACC_PRIVATE
private int outputSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean encrypt;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte[] buffer;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int bufOfs;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
1: putstatic com.oracle.security.ucrypto.NativeRSACipher.keyList:Ljava/util/Map;
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.security.ucrypto.UcryptoMech, int);
descriptor: (Lcom/oracle/security/ucrypto/UcryptoMech;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial javax.crypto.CipherSpi.<init>:()V
1: aload 0
aconst_null
putfield com.oracle.security.ucrypto.NativeRSACipher.key:Lcom/oracle/security/ucrypto/NativeKey;
2: aload 0
iconst_0
putfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
3: aload 0
iconst_1
putfield com.oracle.security.ucrypto.NativeRSACipher.encrypt:Z
4: aload 0
iconst_0
putfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
5: aload 0
aload 1
putfield com.oracle.security.ucrypto.NativeRSACipher.mech:Lcom/oracle/security/ucrypto/UcryptoMech;
6: aload 0
iload 2
putfield com.oracle.security.ucrypto.NativeRSACipher.padLen:I
7: aload 0
new com.oracle.security.ucrypto.NativeRSAKeyFactory
dup
invokespecial com.oracle.security.ucrypto.NativeRSAKeyFactory.<init>:()V
putfield com.oracle.security.ucrypto.NativeRSACipher.keyFactory:Lcom/oracle/security/ucrypto/NativeRSAKeyFactory;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 9 1 mech Lcom/oracle/security/ucrypto/UcryptoMech;
0 9 2 padLen I
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
mech
padLen
protected void engineSetMode(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported mode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 1 1 mode Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
mode
protected void engineSetPadding(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new javax.crypto.NoSuchPaddingException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported padding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.crypto.NoSuchPaddingException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 1 1 padding Ljava/lang/String;
Exceptions:
throws javax.crypto.NoSuchPaddingException
MethodParameters:
Name Flags
padding
protected int engineGetBlockSize();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
protected synchronized int engineGetOutputSize(int);
descriptor: (I)I
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 1 1 inputLen I
MethodParameters:
Name Flags
inputLen
protected byte[] engineGetIV();
descriptor: ()[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
protected java.security.AlgorithmParameters engineGetParameters();
descriptor: ()Ljava/security/AlgorithmParameters;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
protected int engineGetKeySize(java.security.Key);
descriptor: (Ljava/security/Key;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.security.interfaces.RSAKey
ifne 4
1: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "RSAKey required. Got: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: 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;
3: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.interfaces.RSAKey
invokeinterface java.security.interfaces.RSAKey.getModulus:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
istore 2
start local 2 5: iload 2
bipush 7
iadd
iconst_3
ishr
istore 3
start local 3 6: iload 3
bipush 8
imul
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 7 1 key Ljava/security/Key;
5 7 2 n I
6 7 3 realByteSize I
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
protected synchronized void engineInit(int, java.security.Key, java.security.SecureRandom);
descriptor: (ILjava/security/Key;Ljava/security/SecureRandom;)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aconst_null
aload 3
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.engineInit:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
1: goto 4
StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
2: astore 4
start local 4 3: new java.security.InvalidKeyException
dup
ldc "init() failed"
aload 4
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 5 1 opmode I
0 5 2 key Ljava/security/Key;
0 5 3 random Ljava/security/SecureRandom;
3 4 4 e Ljava/security/InvalidAlgorithmParameterException;
Exception table:
from to target type
0 1 2 Class java.security.InvalidAlgorithmParameterException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
opmode
key
random
protected synchronized void engineInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=11, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnonnull 2
1: new java.security.InvalidKeyException
dup
ldc "Key cannot be null"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpeq 9
3: iload 1
iconst_2
if_icmpeq 9
4: iload 1
iconst_3
if_icmpeq 9
5: iload 1
iconst_4
if_icmpeq 9
6: new java.security.InvalidAlgorithmParameterException
dup
7: new java.lang.StringBuilder
dup
ldc "Unsupported mode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 3
ifnull 18
10: aload 3
instanceof sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec
ifne 14
11: new java.security.InvalidAlgorithmParameterException
dup
12: ldc "No Parameters can be specified"
13: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield com.oracle.security.ucrypto.NativeRSACipher.spec:Ljava/security/spec/AlgorithmParameterSpec;
15: aload 4
ifnonnull 17
16: invokestatic sun.security.jca.JCAUtil.getSecureRandom:()Ljava/security/SecureRandom;
astore 4
17: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield com.oracle.security.ucrypto.NativeRSACipher.random:Ljava/security/SecureRandom;
18: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpeq 19
iload 1
iconst_3
if_icmpeq 19
iconst_0
goto 20
StackMap locals:
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 5
start local 5 21: iload 5
ifeq 25
aload 2
instanceof java.security.interfaces.RSAPublicKey
ifne 25
22: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "RSAPublicKey required for encryption. Received: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: aload 2
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.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals: int
StackMap stack:
iload 5
ifne 29
aload 2
instanceof java.security.interfaces.RSAPrivateKey
ifne 29
26: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "RSAPrivateKey required for decryption. Received: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: aload 2
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;
28: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 30: getstatic com.oracle.security.ucrypto.NativeRSACipher.keyList:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.security.ucrypto.NativeKey
astore 6
31: aload 6
ifnonnull 68
32: iload 5
ifeq 40
33: aload 2
checkcast java.security.interfaces.RSAPublicKey
astore 7
start local 7 34: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.keyFactory:Lcom/oracle/security/ucrypto/NativeRSAKeyFactory;
35: new java.security.spec.RSAPublicKeySpec
dup
aload 7
invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
aload 7
invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
36: invokevirtual com.oracle.security.ucrypto.NativeRSAKeyFactory.engineGeneratePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
checkcast com.oracle.security.ucrypto.NativeKey
astore 6
37: goto 67
StackMap locals: com.oracle.security.ucrypto.NativeRSACipher int java.security.Key java.security.spec.AlgorithmParameterSpec java.security.SecureRandom int com.oracle.security.ucrypto.NativeKey java.security.interfaces.RSAPublicKey
StackMap stack: java.security.spec.InvalidKeySpecException
38: astore 8
start local 8 39: new java.security.InvalidKeyException
dup
aload 8
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 8 end local 7 40: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.interfaces.RSAPrivateCrtKey
ifeq 54
41: aload 2
checkcast java.security.interfaces.RSAPrivateCrtKey
astore 7
start local 7 42: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.keyFactory:Lcom/oracle/security/ucrypto/NativeRSAKeyFactory;
43: new java.security.spec.RSAPrivateCrtKeySpec
dup
aload 7
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
44: aload 7
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
45: aload 7
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
46: aload 7
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
47: aload 7
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
48: aload 7
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
49: aload 7
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
50: aload 7
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
51: invokespecial java.security.spec.RSAPrivateCrtKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
52: invokevirtual com.oracle.security.ucrypto.NativeRSAKeyFactory.engineGeneratePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
checkcast com.oracle.security.ucrypto.NativeKey
astore 6
end local 7 53: goto 67
StackMap locals:
StackMap stack:
54: aload 2
instanceof java.security.interfaces.RSAPrivateKey
ifeq 62
55: aload 2
checkcast java.security.interfaces.RSAPrivateKey
astore 7
start local 7 56: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.keyFactory:Lcom/oracle/security/ucrypto/NativeRSAKeyFactory;
57: new java.security.spec.RSAPrivateKeySpec
dup
aload 7
invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
58: aload 7
invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
59: invokespecial java.security.spec.RSAPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
60: invokevirtual com.oracle.security.ucrypto.NativeRSAKeyFactory.engineGeneratePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
checkcast com.oracle.security.ucrypto.NativeKey
astore 6
end local 7 61: goto 67
62: StackMap locals:
StackMap stack:
new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported type of RSAPrivateKey. Received: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
63: aload 2
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;
64: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
65: StackMap locals:
StackMap stack: java.security.spec.InvalidKeySpecException
astore 7
start local 7 66: new java.security.InvalidKeyException
dup
aload 7
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 67: StackMap locals:
StackMap stack:
getstatic com.oracle.security.ucrypto.NativeRSACipher.keyList:Ljava/util/Map;
aload 2
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
68: StackMap locals:
StackMap stack:
aload 0
iload 5
aload 6
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.init:(ZLcom/oracle/security/ucrypto/NativeKey;)V
69: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 70 1 opmode I
0 70 2 newKey Ljava/security/Key;
0 70 3 params Ljava/security/spec/AlgorithmParameterSpec;
0 70 4 random Ljava/security/SecureRandom;
21 70 5 doEncrypt Z
30 70 6 nativeKey Lcom/oracle/security/ucrypto/NativeKey;
34 40 7 publicKey Ljava/security/interfaces/RSAPublicKey;
39 40 8 ikse Ljava/security/spec/InvalidKeySpecException;
42 53 7 privateKey Ljava/security/interfaces/RSAPrivateCrtKey;
56 61 7 privateKey Ljava/security/interfaces/RSAPrivateKey;
66 67 7 ikse Ljava/security/spec/InvalidKeySpecException;
Exception table:
from to target type
34 37 38 Class java.security.spec.InvalidKeySpecException
40 65 65 Class java.security.spec.InvalidKeySpecException
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
opmode
newKey
params
random
protected synchronized void engineInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom);
descriptor: (ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 2
1: new java.security.InvalidAlgorithmParameterException
dup
ldc "No Parameters can be specified"
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
aconst_null
aload 4
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.engineInit:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 4 1 opmode I
0 4 2 key Ljava/security/Key;
0 4 3 params Ljava/security/AlgorithmParameters;
0 4 4 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
opmode
key
params
random
protected synchronized byte[] engineUpdate(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifle 2
1: aload 0
aload 1
iload 2
iload 3
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.update:([BII)V
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 3 1 in [B
0 3 2 inOfs I
0 3 3 inLen I
MethodParameters:
Name Flags
in
inOfs
inLen
protected synchronized int engineUpdate(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
arraylength
iload 5
isub
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
if_icmpge 4
1: new javax.crypto.ShortBufferException
dup
new java.lang.StringBuilder
dup
ldc "Output buffer too small. outputSize: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". out.length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". outOfs: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial javax.crypto.ShortBufferException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 3
ifle 6
5: aload 0
aload 1
iload 2
iload 3
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.update:([BII)V
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 7 1 in [B
0 7 2 inOfs I
0 7 3 inLen I
0 7 4 out [B
0 7 5 outOfs I
Exceptions:
throws javax.crypto.ShortBufferException
MethodParameters:
Name Flags
in
inOfs
inLen
out
outOfs
protected synchronized byte[] engineDoFinal(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
newarray 8
astore 4
start local 4 1: aload 0
aload 1
iload 2
iload 3
aload 4
iconst_0
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.engineDoFinal:([BII[BI)I
istore 5
start local 5 2: iload 5
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
if_icmpeq 5
3: aload 4
iload 5
invokestatic java.util.Arrays.copyOf:([BI)[B
4: areturn
5: StackMap locals: byte[] int
StackMap stack:
aload 4
6: areturn
end local 5 7: StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] int int byte[]
StackMap stack: javax.crypto.ShortBufferException
astore 5
start local 5 8: new com.oracle.security.ucrypto.UcryptoException
dup
ldc "Internal Error"
aload 5
invokespecial com.oracle.security.ucrypto.UcryptoException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 9 1 in [B
0 9 2 inOfs I
0 9 3 inLen I
1 9 4 out [B
2 7 5 actualLen I
8 9 5 e Ljavax/crypto/ShortBufferException;
Exception table:
from to target type
1 4 7 Class javax.crypto.ShortBufferException
5 6 7 Class javax.crypto.ShortBufferException
Exceptions:
throws javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException
MethodParameters:
Name Flags
in
inOfs
inLen
protected synchronized int engineDoFinal(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 3
ifeq 2
1: aload 0
aload 1
iload 2
iload 3
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.update:([BII)V
2: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 5
aload 4
arraylength
iload 5
isub
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.doFinal:([BII)I
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 3 1 in [B
0 3 2 inOfs I
0 3 3 inLen I
0 3 4 out [B
0 3 5 outOfs I
Exceptions:
throws javax.crypto.ShortBufferException, javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException
MethodParameters:
Name Flags
in
inOfs
inLen
out
outOfs
protected synchronized byte[] engineWrap(java.security.Key);
descriptor: (Ljava/security/Key;)[B
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.security.Key.getEncoded:()[B
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
arraylength
ifne 3
2: StackMap locals: byte[]
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Cannot get an encoding of the key to be wrapped"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 2
arraylength
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
arraylength
if_icmple 8
4: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "Key is too long for wrapping. encodedKey.length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: ldc ". buffer.length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_0
aload 2
arraylength
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.engineDoFinal:([BII)[B
9: areturn
end local 2 10: StackMap locals: com.oracle.security.ucrypto.NativeRSACipher java.security.Key
StackMap stack: javax.crypto.BadPaddingException
astore 2
start local 2 11: new com.oracle.security.ucrypto.UcryptoException
dup
ldc "Internal Error"
aload 2
invokespecial com.oracle.security.ucrypto.UcryptoException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 12 1 key Ljava/security/Key;
1 10 2 encodedKey [B
11 12 2 e Ljavax/crypto/BadPaddingException;
Exception table:
from to target type
0 9 10 Class javax.crypto.BadPaddingException
Exceptions:
throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException
MethodParameters:
Name Flags
key
protected synchronized java.security.Key engineUnwrap(byte[], java.lang.String, int);
descriptor: ([BLjava/lang/String;I)Ljava/security/Key;
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
arraylength
if_icmple 5
1: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "Key is too long for unwrapping. wrappedKey.length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: ldc ". buffer.length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 2
ldc "TlsRsaPremasterSecret"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
6: istore 4
start local 4 7: aconst_null
astore 5
start local 5 8: aconst_null
astore 6
start local 6 9: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.engineDoFinal:([BII)[B
astore 6
10: goto 18
StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] java.lang.String int int java.lang.Exception byte[]
StackMap stack: javax.crypto.BadPaddingException
11: astore 7
start local 7 12: iload 4
ifeq 15
13: aload 7
astore 5
14: goto 18
15: StackMap locals: javax.crypto.BadPaddingException
StackMap stack:
new java.security.InvalidKeyException
dup
ldc "Unwrapping failed"
aload 7
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 16: StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] java.lang.String int int java.lang.Exception byte[]
StackMap stack: java.lang.Exception
astore 7
start local 7 17: new java.security.InvalidKeyException
dup
ldc "Unwrapping failed"
aload 7
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 18: StackMap locals:
StackMap stack:
iload 4
ifeq 28
19: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.spec:Ljava/security/spec/AlgorithmParameterSpec;
instanceof sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec
ifne 23
20: new java.lang.IllegalStateException
dup
21: ldc "No TlsRsaPremasterSecretParameterSpec specified"
22: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.spec:Ljava/security/spec/AlgorithmParameterSpec;
checkcast sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec
invokevirtual sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec.getClientVersion:()I
24: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.spec:Ljava/security/spec/AlgorithmParameterSpec;
checkcast sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec
invokevirtual sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec.getServerVersion:()I
25: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.random:Ljava/security/SecureRandom;
aload 6
aload 5
ifnull 26
iconst_1
goto 27
StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] java.lang.String int int java.lang.Exception byte[]
StackMap stack: int int java.security.SecureRandom byte[]
26: iconst_0
27: StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] java.lang.String int int java.lang.Exception byte[]
StackMap stack: int int java.security.SecureRandom byte[] int
invokestatic sun.security.util.KeyUtil.checkTlsPreMasterSecretKey:(IILjava/security/SecureRandom;[BZ)[B
astore 6
28: StackMap locals:
StackMap stack:
iload 3
29: aload 6
aload 2
30: invokestatic com.oracle.security.ucrypto.NativeCipher.constructKey:(I[BLjava/lang/String;)Ljava/security/Key;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 31 1 wrappedKey [B
0 31 2 wrappedKeyAlgorithm Ljava/lang/String;
0 31 3 wrappedKeyType I
7 31 4 isTlsRsaPremasterSecret Z
8 31 5 failover Ljava/lang/Exception;
9 31 6 encodedKey [B
12 16 7 bpe Ljavax/crypto/BadPaddingException;
17 18 7 e Ljava/lang/Exception;
Exception table:
from to target type
9 10 11 Class javax.crypto.BadPaddingException
9 10 16 Class java.lang.Exception
Exceptions:
throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
wrappedKey
wrappedKeyAlgorithm
wrappedKeyType
private static native int nativeAtomic(int, boolean, long, int, byte[], int, byte[], int, int);
descriptor: (IZJI[BI[BII)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
mech
encrypt
keyValue
keyLength
in
inLen
out
ouOfs
outLen
private void init(boolean, com.oracle.security.ucrypto.NativeKey);
descriptor: (ZLcom/oracle/security/ucrypto/NativeKey;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
putfield com.oracle.security.ucrypto.NativeRSACipher.encrypt:Z
1: aload 0
aload 2
putfield com.oracle.security.ucrypto.NativeRSACipher.key:Lcom/oracle/security/ucrypto/NativeKey;
2: aload 0
aload 0
aload 2
invokevirtual com.oracle.security.ucrypto.NativeRSACipher.engineGetKeySize:(Ljava/security/Key;)I
bipush 8
idiv
putfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
3: goto 6
StackMap locals:
StackMap stack: java.security.InvalidKeyException
4: astore 3
start local 3 5: new com.oracle.security.ucrypto.UcryptoException
dup
ldc "Internal Error"
aload 3
invokespecial com.oracle.security.ucrypto.UcryptoException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
newarray 8
putfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
7: aload 0
iconst_0
putfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 9 1 encrypt Z
0 9 2 key Lcom/oracle/security/ucrypto/NativeKey;
5 6 3 ike Ljava/security/InvalidKeyException;
Exception table:
from to target type
2 3 4 Class java.security.InvalidKeyException
MethodParameters:
Name Flags
encrypt
key
private void update(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifle 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
iload 3
iadd
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.encrypt:Z
ifeq 3
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.padLen:I
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] int int
StackMap stack: int int
4: iadd
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
arraylength
if_icmple 7
5: aload 0
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
arraylength
iconst_1
iadd
putfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
6: return
7: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 0
dup
getfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
iload 3
iadd
putfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 10 1 in [B
0 10 2 inOfs I
0 10 3 inLen I
MethodParameters:
Name Flags
in
inOfs
inLen
private int doFinal(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
arraylength
if_icmple 8
1: new javax.crypto.IllegalBlockSizeException
dup
2: new java.lang.StringBuilder
dup
ldc "Data must not be longer than "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
arraylength
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.encrypt:Z
ifeq 4
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.padLen:I
goto 5
StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] int int
StackMap stack: new 1 new 1 java.lang.StringBuilder int
4: iconst_0
StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] int int
StackMap stack: new 1 new 1 java.lang.StringBuilder int int
5: isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial javax.crypto.IllegalBlockSizeException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.outputSize:I
if_icmpge 10
9: new javax.crypto.ShortBufferException
dup
invokespecial javax.crypto.ShortBufferException.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.key:Lcom/oracle/security/ucrypto/NativeKey;
invokevirtual com.oracle.security.ucrypto.NativeKey.value:()J
lstore 4
start local 4 11: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.mech:Lcom/oracle/security/ucrypto/UcryptoMech;
invokevirtual com.oracle.security.ucrypto.UcryptoMech.value:()I
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.encrypt:Z
lload 4
12: aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.key:Lcom/oracle/security/ucrypto/NativeKey;
invokevirtual com.oracle.security.ucrypto.NativeKey.length:()I
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.buffer:[B
aload 0
getfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
13: aload 1
iload 2
iload 3
14: invokestatic com.oracle.security.ucrypto.NativeRSACipher.nativeAtomic:(IZJI[BI[BII)I
istore 6
start local 6 15: iload 6
ifge 23
16: iload 6
bipush -16
if_icmpeq 17
iload 6
bipush -64
if_icmpne 22
17: StackMap locals: long int
StackMap stack:
new com.oracle.security.ucrypto.UcryptoException
dup
bipush 16
invokespecial com.oracle.security.ucrypto.UcryptoException.<init>:(I)V
astore 7
start local 7 18: new javax.crypto.BadPaddingException
dup
ldc "Invalid encryption data"
invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
19: astore 8
start local 8 20: aload 8
aload 7
invokevirtual javax.crypto.BadPaddingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
21: aload 8
athrow
end local 8 end local 7 22: StackMap locals:
StackMap stack:
new com.oracle.security.ucrypto.UcryptoException
dup
iload 6
ineg
invokespecial com.oracle.security.ucrypto.UcryptoException.<init>:(I)V
athrow
23: StackMap locals:
StackMap stack:
iload 6
istore 10
24: aload 0
iconst_0
putfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
25: iload 10
ireturn
end local 6 end local 4 26: StackMap locals: com.oracle.security.ucrypto.NativeRSACipher byte[] int int
StackMap stack: java.lang.Throwable
astore 9
27: aload 0
iconst_0
putfield com.oracle.security.ucrypto.NativeRSACipher.bufOfs:I
28: aload 9
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/oracle/security/ucrypto/NativeRSACipher;
0 29 1 out [B
0 29 2 outOfs I
0 29 3 outLen I
11 26 4 keyValue J
15 26 6 k I
18 22 7 ue Lcom/oracle/security/ucrypto/UcryptoException;
20 22 8 bpe Ljavax/crypto/BadPaddingException;
Exception table:
from to target type
10 24 26 any
Exceptions:
throws javax.crypto.ShortBufferException, javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException
MethodParameters:
Name Flags
out
outOfs
outLen
}
SourceFile: "NativeRSACipher.java"
NestMembers:
com.oracle.security.ucrypto.NativeRSACipher$NoPadding com.oracle.security.ucrypto.NativeRSACipher$PKCS1Padding
InnerClasses:
public final NoPadding = com.oracle.security.ucrypto.NativeRSACipher$NoPadding of com.oracle.security.ucrypto.NativeRSACipher
public final PKCS1Padding = com.oracle.security.ucrypto.NativeRSACipher$PKCS1Padding of com.oracle.security.ucrypto.NativeRSACipher