public final class sun.security.rsa.RSAPrivateKeyImpl extends sun.security.pkcs.PKCS8Key implements java.security.interfaces.RSAPrivateKey
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.rsa.RSAPrivateKeyImpl
super_class: sun.security.pkcs.PKCS8Key
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -33106691987952810
private final java.math.BigInteger n;
descriptor: Ljava/math/BigInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.math.BigInteger d;
descriptor: Ljava/math/BigInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final transient sun.security.rsa.RSAUtil$KeyType type;
descriptor: Lsun/security/rsa/RSAUtil$KeyType;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient java.security.spec.AlgorithmParameterSpec keyParams;
descriptor: Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
void <init>(sun.security.rsa.RSAUtil$KeyType, java.security.spec.AlgorithmParameterSpec, java.math.BigInteger, java.math.BigInteger);
descriptor: (Lsun/security/rsa/RSAUtil$KeyType;Ljava/security/spec/AlgorithmParameterSpec;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial sun.security.pkcs.PKCS8Key.<init>:()V
1: aload 3
invokevirtual java.math.BigInteger.bitLength:()I
aconst_null
invokestatic sun.security.rsa.RSAKeyFactory.checkRSAProviderKeyLengths:(ILjava/math/BigInteger;)V
2: aload 0
aload 3
putfield sun.security.rsa.RSAPrivateKeyImpl.n:Ljava/math/BigInteger;
3: aload 0
aload 4
putfield sun.security.rsa.RSAPrivateKeyImpl.d:Ljava/math/BigInteger;
4: aload 0
aload 1
aload 2
invokestatic sun.security.rsa.RSAUtil.createAlgorithmId:(Lsun/security/rsa/RSAUtil$KeyType;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
putfield sun.security.rsa.RSAPrivateKeyImpl.algid:Lsun/security/x509/AlgorithmId;
5: goto 8
StackMap locals: sun.security.rsa.RSAPrivateKeyImpl sun.security.rsa.RSAUtil$KeyType java.security.spec.AlgorithmParameterSpec java.math.BigInteger java.math.BigInteger
StackMap stack: java.security.ProviderException
6: astore 5
start local 5 7: new java.security.InvalidKeyException
dup
aload 5
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 8: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield sun.security.rsa.RSAPrivateKeyImpl.type:Lsun/security/rsa/RSAUtil$KeyType;
9: aload 0
aload 2
putfield sun.security.rsa.RSAPrivateKeyImpl.keyParams:Ljava/security/spec/AlgorithmParameterSpec;
10: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 5
start local 5 11: aload 5
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
12: aload 5
aload 3
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
13: aload 5
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
14: aload 5
aload 4
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
15: aload 5
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
16: aload 5
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
17: aload 5
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
18: aload 5
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
19: aload 5
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
20: new sun.security.util.DerValue
dup
bipush 48
aload 5
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
invokespecial sun.security.util.DerValue.<init>:(B[B)V
21: astore 6
start local 6 22: aload 0
aload 6
invokevirtual sun.security.util.DerValue.toByteArray:()[B
putfield sun.security.rsa.RSAPrivateKeyImpl.key:[B
end local 6 end local 5 23: goto 26
StackMap locals:
StackMap stack: java.io.IOException
24: astore 5
start local 5 25: new java.security.InvalidKeyException
dup
aload 5
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 26: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/rsa/RSAPrivateKeyImpl;
0 27 1 type Lsun/security/rsa/RSAUtil$KeyType;
0 27 2 keyParams Ljava/security/spec/AlgorithmParameterSpec;
0 27 3 n Ljava/math/BigInteger;
0 27 4 d Ljava/math/BigInteger;
7 8 5 pe Ljava/security/ProviderException;
11 23 5 out Lsun/security/util/DerOutputStream;
22 23 6 val Lsun/security/util/DerValue;
25 26 5 exc Ljava/io/IOException;
Exception table:
from to target type
4 5 6 Class java.security.ProviderException
10 23 24 Class java.io.IOException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
type
keyParams
n
d
public java.lang.String getAlgorithm();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.rsa.RSAPrivateKeyImpl.type:Lsun/security/rsa/RSAUtil$KeyType;
getfield sun.security.rsa.RSAUtil$KeyType.keyAlgo:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/rsa/RSAPrivateKeyImpl;
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 sun.security.rsa.RSAPrivateKeyImpl.n:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/rsa/RSAPrivateKeyImpl;
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 sun.security.rsa.RSAPrivateKeyImpl.d:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/rsa/RSAPrivateKeyImpl;
public java.security.spec.AlgorithmParameterSpec getParams();
descriptor: ()Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.rsa.RSAPrivateKeyImpl.keyParams:Ljava/security/spec/AlgorithmParameterSpec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/rsa/RSAPrivateKeyImpl;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Sun "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.rsa.RSAPrivateKeyImpl.type:Lsun/security/rsa/RSAUtil$KeyType;
getfield sun.security.rsa.RSAUtil$KeyType.keyAlgo:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " private key, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.rsa.RSAPrivateKeyImpl.n:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
1: ldc " bits"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n params: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.rsa.RSAPrivateKeyImpl.keyParams:Ljava/security/spec/AlgorithmParameterSpec;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n modulus: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.rsa.RSAPrivateKeyImpl.n:Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc "\n private exponent: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.rsa.RSAPrivateKeyImpl.d:Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/rsa/RSAPrivateKeyImpl;
}
SourceFile: "RSAPrivateKeyImpl.java"
InnerClasses:
public final KeyType = sun.security.rsa.RSAUtil$KeyType of sun.security.rsa.RSAUtil