final class sun.security.ssl.X509Authentication$X509Possession implements sun.security.ssl.SSLPossession
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.X509Authentication$X509Possession
super_class: java.lang.Object
{
final java.security.cert.X509Certificate[] popCerts;
descriptor: [Ljava/security/cert/X509Certificate;
flags: (0x0010) ACC_FINAL
final java.security.PrivateKey popPrivateKey;
descriptor: Ljava/security/PrivateKey;
flags: (0x0010) ACC_FINAL
void <init>(java.security.PrivateKey, java.security.cert.X509Certificate[]);
descriptor: (Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // sun.security.ssl.X509Authentication$X509Possession this
start local 1 // java.security.PrivateKey popPrivateKey
start local 2 // java.security.cert.X509Certificate[] popCerts
0: .line 128
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 130
aload 0 /* this */
aload 2 /* popCerts */
putfield sun.security.ssl.X509Authentication$X509Possession.popCerts:[Ljava/security/cert/X509Certificate;
2: .line 131
aload 0 /* this */
aload 1 /* popPrivateKey */
putfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
3: .line 132
return
end local 2 // java.security.cert.X509Certificate[] popCerts
end local 1 // java.security.PrivateKey popPrivateKey
end local 0 // sun.security.ssl.X509Authentication$X509Possession this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/X509Authentication$X509Possession;
0 4 1 popPrivateKey Ljava/security/PrivateKey;
0 4 2 popCerts [Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
popPrivateKey
popCerts
java.security.spec.ECParameterSpec getECParameterSpec();
descriptor: ()Ljava/security/spec/ECParameterSpec;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 // sun.security.ssl.X509Authentication$X509Possession this
0: .line 135
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
ifnull 2
1: .line 136
ldc "EC"
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
2: .line 137
StackMap locals:
StackMap stack:
aconst_null
areturn
3: .line 140
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
instanceof java.security.interfaces.ECKey
ifeq 5
4: .line 141
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
checkcast java.security.interfaces.ECKey
invokeinterface java.security.interfaces.ECKey.getParams:()Ljava/security/spec/ECParameterSpec;
areturn
5: .line 142
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popCerts:[Ljava/security/cert/X509Certificate;
ifnull 9
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popCerts:[Ljava/security/cert/X509Certificate;
arraylength
ifeq 9
6: .line 145
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popCerts:[Ljava/security/cert/X509Certificate;
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 1 /* publicKey */
start local 1 // java.security.PublicKey publicKey
7: .line 146
aload 1 /* publicKey */
instanceof java.security.interfaces.ECKey
ifeq 9
8: .line 147
aload 1 /* publicKey */
checkcast java.security.interfaces.ECKey
invokeinterface java.security.interfaces.ECKey.getParams:()Ljava/security/spec/ECParameterSpec;
areturn
end local 1 // java.security.PublicKey publicKey
9: .line 151
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 // sun.security.ssl.X509Authentication$X509Possession this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/X509Authentication$X509Possession;
7 9 1 publicKey Ljava/security/PublicKey;
java.security.spec.NamedParameterSpec getXECParameterSpec();
descriptor: ()Ljava/security/spec/NamedParameterSpec;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 // sun.security.ssl.X509Authentication$X509Possession this
0: .line 156
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
ifnull 2
1: .line 157
ldc "XEC"
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
2: .line 158
StackMap locals:
StackMap stack:
aconst_null
areturn
3: .line 161
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
instanceof java.security.interfaces.XECKey
ifeq 8
4: .line 163
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
checkcast java.security.interfaces.XECKey
invokeinterface java.security.interfaces.XECKey.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
5: .line 162
astore 1 /* params */
start local 1 // java.security.spec.AlgorithmParameterSpec params
6: .line 164
aload 1 /* params */
instanceof java.security.spec.NamedParameterSpec
ifeq 15
7: .line 165
aload 1 /* params */
checkcast java.security.spec.NamedParameterSpec
areturn
end local 1 // java.security.spec.AlgorithmParameterSpec params
8: .line 167
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popCerts:[Ljava/security/cert/X509Certificate;
ifnull 15
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popCerts:[Ljava/security/cert/X509Certificate;
arraylength
ifeq 15
9: .line 170
aload 0 /* this */
getfield sun.security.ssl.X509Authentication$X509Possession.popCerts:[Ljava/security/cert/X509Certificate;
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 1 /* publicKey */
start local 1 // java.security.PublicKey publicKey
10: .line 171
aload 1 /* publicKey */
instanceof java.security.interfaces.XECKey
ifeq 15
11: .line 173
aload 1 /* publicKey */
checkcast java.security.interfaces.XECKey
invokeinterface java.security.interfaces.XECKey.getParams:()Ljava/security/spec/AlgorithmParameterSpec;
12: .line 172
astore 2 /* params */
start local 2 // java.security.spec.AlgorithmParameterSpec params
13: .line 174
aload 2 /* params */
instanceof java.security.spec.NamedParameterSpec
ifeq 15
14: .line 175
aload 2 /* params */
checkcast java.security.spec.NamedParameterSpec
areturn
end local 2 // java.security.spec.AlgorithmParameterSpec params
end local 1 // java.security.PublicKey publicKey
15: .line 180
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 // sun.security.ssl.X509Authentication$X509Possession this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/ssl/X509Authentication$X509Possession;
6 8 1 params Ljava/security/spec/AlgorithmParameterSpec;
10 15 1 publicKey Ljava/security/PublicKey;
13 15 2 params Ljava/security/spec/AlgorithmParameterSpec;
}
SourceFile: "X509Authentication.java"
NestHost: sun.security.ssl.X509Authentication
InnerClasses:
final X509Possession = sun.security.ssl.X509Authentication$X509Possession of sun.security.ssl.X509Authentication