class sun.security.mscapi.CKeyStore$KeyEntry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.mscapi.CKeyStore$KeyEntry
super_class: java.lang.Object
{
private sun.security.mscapi.CKey privateKey;
descriptor: Lsun/security/mscapi/CKey;
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.CKeyStore this$0;
descriptor: Lsun/security/mscapi/CKeyStore;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.security.mscapi.CKeyStore, sun.security.mscapi.CKey, java.security.cert.X509Certificate[]);
descriptor: (Lsun/security/mscapi/CKeyStore;Lsun/security/mscapi/CKey;[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.CKeyStore$KeyEntry.<init>:(Lsun/security/mscapi/CKeyStore;Ljava/lang/String;Lsun/security/mscapi/CKey;[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/CKeyStore$KeyEntry;
0 2 2 key Lsun/security/mscapi/CKey;
0 2 3 chain [Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
this$0 final
key
chain
void <init>(sun.security.mscapi.CKeyStore, java.lang.String, sun.security.mscapi.CKey, java.security.cert.X509Certificate[]);
descriptor: (Lsun/security/mscapi/CKeyStore;Ljava/lang/String;Lsun/security/mscapi/CKey;[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.CKeyStore$KeyEntry.this$0:Lsun/security/mscapi/CKeyStore;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 3
putfield sun.security.mscapi.CKeyStore$KeyEntry.privateKey:Lsun/security/mscapi/CKey;
2: aload 0
aload 4
putfield sun.security.mscapi.CKeyStore$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.CKeyStore$KeyEntry.alias:Ljava/lang/String;
5: goto 7
6: StackMap locals: sun.security.mscapi.CKeyStore$KeyEntry sun.security.mscapi.CKeyStore java.lang.String sun.security.mscapi.CKey java.security.cert.X509Certificate[]
StackMap stack:
aload 0
aload 2
putfield sun.security.mscapi.CKeyStore$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/CKeyStore$KeyEntry;
0 8 2 alias Ljava/lang/String;
0 8 3 key Lsun/security/mscapi/CKey;
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.CKeyStore$KeyEntry.alias:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/mscapi/CKeyStore$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.CKeyStore$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/CKeyStore$KeyEntry;
0 2 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
sun.security.mscapi.CKey getPrivateKey();
descriptor: ()Lsun/security/mscapi/CKey;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.privateKey:Lsun/security/mscapi/CKey;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/mscapi/CKeyStore$KeyEntry;
void setRSAPrivateKey(java.security.Key);
descriptor: (Ljava/security/Key;)V
flags: (0x0000)
Code:
stack=10, locals=6, args_size=2
start local 0 start local 1 0: aload 1
checkcast java.security.interfaces.RSAPrivateCrtKey
astore 2
start local 2 1: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 3
start local 3 2: aload 3
iconst_0
baload
ifne 4
3: aload 3
arraylength
iconst_1
isub
bipush 8
imul
goto 5
4: StackMap locals: java.security.interfaces.RSAPrivateCrtKey byte[]
StackMap stack:
aload 3
arraylength
bipush 8
imul
5: StackMap locals:
StackMap stack: int
istore 4
start local 4 6: aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.this$0:Lsun/security/mscapi/CKeyStore;
7: iload 4
8: aload 3
9: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
10: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
11: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
12: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
13: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
14: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
15: aload 2
invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
16: invokevirtual sun.security.mscapi.CKeyStore.generateRSAPrivateKeyBlob:(I[B[B[B[B[B[B[B[B)[B
astore 5
start local 5 17: aload 0
aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.this$0:Lsun/security/mscapi/CKeyStore;
ldc "RSA"
aload 5
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
18: 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 4
19: invokevirtual sun.security.mscapi.CKeyStore.storePrivateKey:(Ljava/lang/String;[BLjava/lang/String;I)Lsun/security/mscapi/CPrivateKey;
putfield sun.security.mscapi.CKeyStore$KeyEntry.privateKey:Lsun/security/mscapi/CKey;
20: return
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 21 0 this Lsun/security/mscapi/CKeyStore$KeyEntry;
0 21 1 k Ljava/security/Key;
1 21 2 key Ljava/security/interfaces/RSAPrivateCrtKey;
2 21 3 modulusBytes [B
6 21 4 keyBitLength I
17 21 5 keyBlob [B
Exceptions:
throws java.security.InvalidKeyException, java.security.KeyStoreException
MethodParameters:
Name Flags
k
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.CKeyStore$KeyEntry.certChain:[Ljava/security/cert/X509Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/mscapi/CKeyStore$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.CKeyStore$KeyEntry.privateKey:Lsun/security/mscapi/CKey;
ifnull 9
4: aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.this$0:Lsun/security/mscapi/CKeyStore;
aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.this$0:Lsun/security/mscapi/CKeyStore;
invokevirtual sun.security.mscapi.CKeyStore.getName:()Ljava/lang/String;
aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.alias:Ljava/lang/String;
aload 3
5: aload 3
arraylength
aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.privateKey:Lsun/security/mscapi/CKey;
invokevirtual sun.security.mscapi.CKey.getHCryptProvider:()J
6: aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.privateKey:Lsun/security/mscapi/CKey;
invokevirtual sun.security.mscapi.CKey.getHCryptKey:()J
7: invokevirtual sun.security.mscapi.CKeyStore.storeCertificate:(Ljava/lang/String;Ljava/lang/String;[BIJJ)V
8: goto 12
9: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.this$0:Lsun/security/mscapi/CKeyStore;
aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.this$0:Lsun/security/mscapi/CKeyStore;
invokevirtual sun.security.mscapi.CKeyStore.getName:()Ljava/lang/String;
aload 0
getfield sun.security.mscapi.CKeyStore$KeyEntry.alias:Ljava/lang/String;
aload 3
10: aload 3
arraylength
lconst_0
lconst_0
11: invokevirtual sun.security.mscapi.CKeyStore.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.CKeyStore$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/CKeyStore$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, java.security.KeyStoreException
MethodParameters:
Name Flags
chain
}
SourceFile: "CKeyStore.java"
NestHost: sun.security.mscapi.CKeyStore
InnerClasses:
KeyEntry = sun.security.mscapi.CKeyStore$KeyEntry of sun.security.mscapi.CKeyStore