class sun.security.mscapi.KeyStore$KeyEntry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.mscapi.KeyStore$KeyEntry
super_class: java.lang.Object
{
private sun.security.mscapi.Key privateKey;
descriptor: Lsun/security/mscapi/Key;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.X509Certificate[] certChain;
descriptor: [Ljava/security/cert/X509Certificate;
flags: (0x0002) ACC_PRIVATE
private java.lang.String alias;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
final sun.security.mscapi.KeyStore this$0;
descriptor: Lsun/security/mscapi/KeyStore;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.security.mscapi.KeyStore, sun.security.mscapi.Key, java.security.cert.X509Certificate[]);
descriptor: (Lsun/security/mscapi/KeyStore;Lsun/security/mscapi/Key;[Ljava/security/cert/X509Certificate;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
aconst_null
aload 2
aload 3
invokespecial sun.security.mscapi.KeyStore$KeyEntry.<init>:(Lsun/security/mscapi/KeyStore;Ljava/lang/String;Lsun/security/mscapi/Key;[Ljava/security/cert/X509Certificate;)V
1: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
0 2 2 key Lsun/security/mscapi/Key;
0 2 3 chain [Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
this$0 final
key
chain
void <init>(sun.security.mscapi.KeyStore, java.lang.String, sun.security.mscapi.Key, java.security.cert.X509Certificate[]);
descriptor: (Lsun/security/mscapi/KeyStore;Ljava/lang/String;Lsun/security/mscapi/Key;[Ljava/security/cert/X509Certificate;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield sun.security.mscapi.KeyStore$KeyEntry.this$0:Lsun/security/mscapi/KeyStore;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 3
putfield sun.security.mscapi.KeyStore$KeyEntry.privateKey:Lsun/security/mscapi/Key;
2: aload 0
aload 4
putfield sun.security.mscapi.KeyStore$KeyEntry.certChain:[Ljava/security/cert/X509Certificate;
3: aload 2
ifnonnull 6
4: aload 0
aload 4
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.hashCode:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
putfield sun.security.mscapi.KeyStore$KeyEntry.alias:Ljava/lang/String;
5: goto 7
6: StackMap locals: sun.security.mscapi.KeyStore$KeyEntry sun.security.mscapi.KeyStore java.lang.String sun.security.mscapi.Key java.security.cert.X509Certificate[]
StackMap stack:
aload 0
aload 2
putfield sun.security.mscapi.KeyStore$KeyEntry.alias:Ljava/lang/String;
7: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
0 8 2 alias Ljava/lang/String;
0 8 3 key Lsun/security/mscapi/Key;
0 8 4 chain [Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
this$0 final
alias
key
chain
java.lang.String getAlias();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.alias:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
void setAlias(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.mscapi.KeyStore$KeyEntry.alias:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
0 2 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
sun.security.mscapi.Key getPrivateKey();
descriptor: ()Lsun/security/mscapi/Key;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.privateKey:Lsun/security/mscapi/Key;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
void setPrivateKey(java.security.interfaces.RSAPrivateCrtKey);
descriptor: (Ljava/security/interfaces/RSAPrivateCrtKey;)V
flags: (0x0000)
Code:
stack=10, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 2
start local 2 1: aload 2
iconst_0
baload
ifne 3
2: aload 2
arraylength
iconst_1
isub
bipush 8
imul
goto 4
3: StackMap locals: byte[]
StackMap stack:
aload 2
arraylength
bipush 8
imul
4: StackMap locals:
StackMap stack: int
istore 3
start local 3 5: aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.this$0:Lsun/security/mscapi/KeyStore;
6: iload 3
7: aload 2
8: aload 1
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
9: aload 1
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
10: aload 1
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
11: aload 1
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
12: aload 1
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
13: aload 1
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
14: aload 1
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
15: invokevirtual sun.security.mscapi.KeyStore.generatePrivateKeyBlob:(I[B[B[B[B[B[B[B[B)[B
astore 4
start local 4 16: aload 0
aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.this$0:Lsun/security/mscapi/KeyStore;
aload 0
aload 4
invokevirtual sun.security.mscapi.KeyStore$KeyEntry.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
17: new java.lang.StringBuilder
dup
ldc "{"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 3
18: invokevirtual sun.security.mscapi.KeyStore.storePrivateKey:([BLjava/lang/String;I)Lsun/security/mscapi/RSAPrivateKey;
putfield sun.security.mscapi.KeyStore$KeyEntry.privateKey:Lsun/security/mscapi/Key;
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
0 20 1 key Ljava/security/interfaces/RSAPrivateCrtKey;
1 20 2 modulusBytes [B
5 20 3 keyBitLength I
16 20 4 keyBlob [B
MethodParameters:
Name Flags
key
java.security.cert.X509Certificate[] getCertificateChain();
descriptor: ()[Ljava/security/cert/X509Certificate;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.certChain:[Ljava/security/cert/X509Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
void setCertificateChain(java.security.cert.X509Certificate[]);
descriptor: ([Ljava/security/cert/X509Certificate;)V
flags: (0x0000)
Code:
stack=9, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 13
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
astore 3
start local 3 3: iload 2
ifne 9
aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.privateKey:Lsun/security/mscapi/Key;
ifnull 9
4: aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.this$0:Lsun/security/mscapi/KeyStore;
aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.this$0:Lsun/security/mscapi/KeyStore;
invokevirtual sun.security.mscapi.KeyStore.getName:()Ljava/lang/String;
aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.alias:Ljava/lang/String;
aload 3
5: aload 3
arraylength
aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.privateKey:Lsun/security/mscapi/Key;
invokevirtual sun.security.mscapi.Key.getHCryptProvider:()J
6: aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.privateKey:Lsun/security/mscapi/Key;
invokevirtual sun.security.mscapi.Key.getHCryptKey:()J
7: invokevirtual sun.security.mscapi.KeyStore.storeCertificate:(Ljava/lang/String;Ljava/lang/String;[BIJJ)V
8: goto 12
9: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.this$0:Lsun/security/mscapi/KeyStore;
aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.this$0:Lsun/security/mscapi/KeyStore;
invokevirtual sun.security.mscapi.KeyStore.getName:()Ljava/lang/String;
aload 0
getfield sun.security.mscapi.KeyStore$KeyEntry.alias:Ljava/lang/String;
aload 3
10: aload 3
arraylength
lconst_0
lconst_0
11: invokevirtual sun.security.mscapi.KeyStore.storeCertificate:(Ljava/lang/String;Ljava/lang/String;[BIJJ)V
end local 3 12: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
aload 1
arraylength
if_icmplt 2
end local 2 14: aload 0
aload 1
putfield sun.security.mscapi.KeyStore$KeyEntry.certChain:[Ljava/security/cert/X509Certificate;
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
0 16 1 chain [Ljava/security/cert/X509Certificate;
1 14 2 i I
3 12 3 encoding [B
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
private <T> T requireNonNull();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/mscapi/KeyStore$KeyEntry;
0 3 1 o TT;
Signature: <T:Ljava/lang/Object;>(TT;)TT;
MethodParameters:
Name Flags
o
}
SourceFile: "KeyStore.java"
NestHost: sun.security.mscapi.KeyStore
InnerClasses:
KeyEntry = sun.security.mscapi.KeyStore$KeyEntry of sun.security.mscapi.KeyStore