public final class sun.security.ec.ECPublicKeyImpl extends sun.security.x509.X509Key implements java.security.interfaces.ECPublicKey
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.ec.ECPublicKeyImpl
super_class: sun.security.x509.X509Key
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2462037275160462289
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
void <init>(java.security.spec.ECPoint, java.security.spec.ECParameterSpec);
descriptor: (Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial sun.security.x509.X509Key.<init>:()V
1: aload 0
aload 1
putfield sun.security.ec.ECPublicKeyImpl.w:Ljava/security/spec/ECPoint;
2: aload 0
aload 2
putfield sun.security.ec.ECPublicKeyImpl.params:Ljava/security/spec/ECParameterSpec;
3: aload 0
new sun.security.x509.AlgorithmId
dup
4: getstatic sun.security.x509.AlgorithmId.EC_oid:Lsun/security/util/ObjectIdentifier;
aload 2
invokestatic sun.security.ec.ECParameters.getAlgorithmParameters:(Ljava/security/spec/ECParameterSpec;)Ljava/security/AlgorithmParameters;
invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)V
5: putfield sun.security.ec.ECPublicKeyImpl.algid:Lsun/security/x509/AlgorithmId;
6: aload 0
aload 1
aload 2
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokestatic sun.security.util.ECUtil.encodePoint:(Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
putfield sun.security.ec.ECPublicKeyImpl.key:[B
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ec/ECPublicKeyImpl;
0 8 1 w Ljava/security/spec/ECPoint;
0 8 2 params Ljava/security/spec/ECParameterSpec;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
w
params
void <init>(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.x509.X509Key.<init>:()V
1: aload 0
aload 1
invokevirtual sun.security.ec.ECPublicKeyImpl.decode:([B)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ec/ECPublicKeyImpl;
0 3 1 encoded [B
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
encoded
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: ldc "EC"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ec/ECPublicKeyImpl;
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
getfield sun.security.ec.ECPublicKeyImpl.w:Ljava/security/spec/ECPoint;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ec/ECPublicKeyImpl;
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
getfield sun.security.ec.ECPublicKeyImpl.params:Ljava/security/spec/ECParameterSpec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ec/ECPublicKeyImpl;
public byte[] getEncodedPublicValue();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ec.ECPublicKeyImpl.key:[B
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ec/ECPublicKeyImpl;
protected void parseKeyBits();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ec.ECPublicKeyImpl.algid:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.security.InvalidKeyException
dup
ldc "EC domain parameters must be encoded in the algorithm identifier"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.security.AlgorithmParameters
StackMap stack:
aload 0
aload 1
ldc Ljava/security/spec/ECParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
checkcast java.security.spec.ECParameterSpec
putfield sun.security.ec.ECPublicKeyImpl.params:Ljava/security/spec/ECParameterSpec;
4: aload 0
aload 0
getfield sun.security.ec.ECPublicKeyImpl.key:[B
aload 0
getfield sun.security.ec.ECPublicKeyImpl.params:Ljava/security/spec/ECParameterSpec;
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokestatic sun.security.util.ECUtil.decodePoint:([BLjava/security/spec/EllipticCurve;)Ljava/security/spec/ECPoint;
putfield sun.security.ec.ECPublicKeyImpl.w:Ljava/security/spec/ECPoint;
5: goto 10
StackMap locals:
StackMap stack: java.io.IOException
6: astore 2
start local 2 7: new java.security.InvalidKeyException
dup
ldc "Invalid EC key"
aload 2
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 8: StackMap locals:
StackMap stack: java.security.spec.InvalidParameterSpecException
astore 2
start local 2 9: new java.security.InvalidKeyException
dup
ldc "Invalid EC key"
aload 2
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ec/ECPublicKeyImpl;
1 11 1 algParams Ljava/security/AlgorithmParameters;
7 8 2 e Ljava/io/IOException;
9 10 2 e Ljava/security/spec/InvalidParameterSpecException;
Exception table:
from to target type
3 5 6 Class java.io.IOException
3 5 8 Class java.security.spec.InvalidParameterSpecException
Exceptions:
throws java.security.InvalidKeyException
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 EC public key, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ec.ECPublicKeyImpl.params:Ljava/security/spec/ECParameterSpec;
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
invokeinterface java.security.spec.ECField.getFieldSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
1: ldc " bits\n public x coord: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.ec.ECPublicKeyImpl.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;
2: ldc "\n public y coord: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.ec.ECPublicKeyImpl.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;
3: ldc "\n parameters: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.ec.ECPublicKeyImpl.params:Ljava/security/spec/ECParameterSpec;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ec/ECPublicKeyImpl;
protected java.lang.Object writeReplace();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=1, args_size=1
start local 0 0: new java.security.KeyRep
dup
getstatic java.security.KeyRep$Type.PUBLIC:Ljava/security/KeyRep$Type;
1: aload 0
invokevirtual sun.security.ec.ECPublicKeyImpl.getAlgorithm:()Ljava/lang/String;
2: aload 0
invokevirtual sun.security.ec.ECPublicKeyImpl.getFormat:()Ljava/lang/String;
3: aload 0
invokevirtual sun.security.ec.ECPublicKeyImpl.getEncoded:()[B
4: invokespecial java.security.KeyRep.<init>:(Ljava/security/KeyRep$Type;Ljava/lang/String;Ljava/lang/String;[B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ec/ECPublicKeyImpl;
Exceptions:
throws java.io.ObjectStreamException
}
SourceFile: "ECPublicKeyImpl.java"
InnerClasses:
public final Type = java.security.KeyRep$Type of java.security.KeyRep