final class sun.security.pkcs11.P11Key$P11ECPublicKey extends sun.security.pkcs11.P11Key implements java.security.interfaces.ECPublicKey
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11Key$P11ECPublicKey
super_class: sun.security.pkcs11.P11Key
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -6371481375154806089
private java.security.spec.ECPoint w;
descriptor: Ljava/security/spec/ECPoint;
flags: (0x0002) ACC_PRIVATE
private java.security.spec.ECParameterSpec params;
descriptor: Ljava/security/spec/ECParameterSpec;
flags: (0x0002) ACC_PRIVATE
private byte[] encoded;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
void <init>(sun.security.pkcs11.Session, long, java.lang.String, int, sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]);
descriptor: (Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
flags: (0x0000)
Code:
stack=8, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 0: aload 0
ldc "public"
aload 1
lload 2
aload 4
iload 5
aload 6
invokespecial sun.security.pkcs11.P11Key.<init>:(Ljava/lang/String;Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
1: return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11Key$P11ECPublicKey;
0 2 1 session Lsun/security/pkcs11/Session;
0 2 2 keyID J
0 2 4 algorithm Ljava/lang/String;
0 2 5 keyLength I
0 2 6 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
MethodParameters:
Name Flags
session
keyID
algorithm
keyLength
attributes
private synchronized void fetchValues();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.w:Ljava/security/spec/ECPoint;
ifnull 3
2: return
3: StackMap locals:
StackMap stack:
iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
4: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 385
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
dup
iconst_1
5: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 384
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
6: astore 1
start local 1 7: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11Key$P11ECPublicKey.fetchAttributes:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
8: aload 0
9: aload 1
iconst_1
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
10: invokestatic sun.security.pkcs11.P11ECKeyFactory.decodeParameters:([B)Ljava/security/spec/ECParameterSpec;
putfield sun.security.pkcs11.P11Key$P11ECPublicKey.params:Ljava/security/spec/ECParameterSpec;
11: aload 1
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
astore 2
start local 2 12: aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
invokevirtual sun.security.pkcs11.Config.getUseEcX963Encoding:()Z
ifne 22
13: new sun.security.util.DerValue
dup
aload 2
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 3
start local 3 14: aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
iconst_4
if_icmpeq 18
15: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Could not DER decode EC point. Unexpected tag: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 3
invokevirtual sun.security.util.DerValue.getTag:()B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] byte[] sun.security.util.DerValue
StackMap stack:
aload 0
19: aload 3
invokevirtual sun.security.util.DerValue.getDataBytes:()[B
aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.params:Ljava/security/spec/ECParameterSpec;
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
20: invokestatic sun.security.pkcs11.P11ECKeyFactory.decodePoint:([BLjava/security/spec/EllipticCurve;)Ljava/security/spec/ECPoint;
putfield sun.security.pkcs11.P11Key$P11ECPublicKey.w:Ljava/security/spec/ECPoint;
end local 3 21: goto 26
22: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.params:Ljava/security/spec/ECParameterSpec;
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokestatic sun.security.pkcs11.P11ECKeyFactory.decodePoint:([BLjava/security/spec/EllipticCurve;)Ljava/security/spec/ECPoint;
putfield sun.security.pkcs11.P11Key$P11ECPublicKey.w:Ljava/security/spec/ECPoint;
end local 2 23: goto 26
StackMap locals: sun.security.pkcs11.P11Key$P11ECPublicKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack: java.lang.Exception
24: astore 2
start local 2 25: new java.lang.RuntimeException
dup
ldc "Could not parse key values"
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 26: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/pkcs11/P11Key$P11ECPublicKey;
7 27 1 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
12 23 2 ecKey [B
14 21 3 wECPoint Lsun/security/util/DerValue;
25 26 2 e Ljava/lang/Exception;
Exception table:
from to target type
8 23 24 Class java.lang.Exception
public java.lang.String getFormat();
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.pkcs11.P11Key$P11ECPublicKey.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: ldc "X.509"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11Key$P11ECPublicKey;
synchronized byte[] getEncodedInternal();
descriptor: ()[B
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.encoded:[B
ifnonnull 7
2: aload 0
invokevirtual sun.security.pkcs11.P11Key$P11ECPublicKey.fetchValues:()V
3: aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.w:Ljava/security/spec/ECPoint;
aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.params:Ljava/security/spec/ECParameterSpec;
invokestatic sun.security.util.ECUtil.x509EncodeECPublicKey:(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)[B
4: areturn
5: StackMap locals:
StackMap stack: java.security.spec.InvalidKeySpecException
astore 1
start local 1 6: new java.security.ProviderException
dup
aload 1
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.encoded:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/pkcs11/P11Key$P11ECPublicKey;
6 7 1 e Ljava/security/spec/InvalidKeySpecException;
Exception table:
from to target type
3 4 5 Class java.security.spec.InvalidKeySpecException
public java.security.spec.ECPoint getW();
descriptor: ()Ljava/security/spec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.pkcs11.P11Key$P11ECPublicKey.fetchValues:()V
1: aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.w:Ljava/security/spec/ECPoint;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11Key$P11ECPublicKey;
public java.security.spec.ECParameterSpec getParams();
descriptor: ()Ljava/security/spec/ECParameterSpec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.pkcs11.P11Key$P11ECPublicKey.fetchValues:()V
1: aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.params:Ljava/security/spec/ECParameterSpec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11Key$P11ECPublicKey;
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: aload 0
invokevirtual sun.security.pkcs11.P11Key$P11ECPublicKey.fetchValues:()V
1: new java.lang.StringBuilder
dup
aload 0
invokespecial sun.security.pkcs11.P11Key.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc "\n public x coord: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.w:Ljava/security/spec/ECPoint;
invokevirtual java.security.spec.ECPoint.getAffineX:()Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: ldc "\n public y coord: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.w:Ljava/security/spec/ECPoint;
invokevirtual java.security.spec.ECPoint.getAffineY:()Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc "\n parameters: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs11.P11Key$P11ECPublicKey.params:Ljava/security/spec/ECParameterSpec;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/pkcs11/P11Key$P11ECPublicKey;
}
SourceFile: "P11Key.java"
NestHost: sun.security.pkcs11.P11Key
InnerClasses:
private final P11ECPublicKey = sun.security.pkcs11.P11Key$P11ECPublicKey of sun.security.pkcs11.P11Key