public class org.bouncycastle.asn1.ua.DSTU4145ECBinary extends org.bouncycastle.asn1.ASN1Object
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.asn1.ua.DSTU4145ECBinary
super_class: org.bouncycastle.asn1.ASN1Object
{
java.math.BigInteger version;
descriptor: Ljava/math/BigInteger;
flags: (0x0000)
org.bouncycastle.asn1.ua.DSTU4145BinaryField f;
descriptor: Lorg/bouncycastle/asn1/ua/DSTU4145BinaryField;
flags: (0x0000)
org.bouncycastle.asn1.ASN1Integer a;
descriptor: Lorg/bouncycastle/asn1/ASN1Integer;
flags: (0x0000)
org.bouncycastle.asn1.ASN1OctetString b;
descriptor: Lorg/bouncycastle/asn1/ASN1OctetString;
flags: (0x0000)
org.bouncycastle.asn1.ASN1Integer n;
descriptor: Lorg/bouncycastle/asn1/ASN1Integer;
flags: (0x0000)
org.bouncycastle.asn1.ASN1OctetString bp;
descriptor: Lorg/bouncycastle/asn1/ASN1OctetString;
flags: (0x0000)
public void <init>(org.bouncycastle.crypto.params.ECDomainParameters);
descriptor: (Lorg/bouncycastle/crypto/params/ECDomainParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.asn1.ASN1Object.<init>:()V
1: aload 0
lconst_0
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.version:Ljava/math/BigInteger;
2: aload 1
invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 3: aload 2
invokestatic org.bouncycastle.math.ec.ECAlgorithms.isF2mCurve:(Lorg/bouncycastle/math/ec/ECCurve;)Z
ifne 5
4: new java.lang.IllegalArgumentException
dup
ldc "only binary domain is possible"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.bouncycastle.asn1.ua.DSTU4145ECBinary org.bouncycastle.crypto.params.ECDomainParameters org.bouncycastle.math.ec.ECCurve
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getField:()Lorg/bouncycastle/math/field/FiniteField;
checkcast org.bouncycastle.math.field.PolynomialExtensionField
astore 3
start local 3 6: aload 3
invokeinterface org.bouncycastle.math.field.PolynomialExtensionField.getMinimalPolynomial:()Lorg/bouncycastle/math/field/Polynomial;
invokeinterface org.bouncycastle.math.field.Polynomial.getExponentsPresent:()[I
astore 4
start local 4 7: aload 4
arraylength
iconst_3
if_icmpne 10
8: aload 0
new org.bouncycastle.asn1.ua.DSTU4145BinaryField
dup
aload 4
iconst_2
iaload
aload 4
iconst_1
iaload
invokespecial org.bouncycastle.asn1.ua.DSTU4145BinaryField.<init>:(II)V
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.f:Lorg/bouncycastle/asn1/ua/DSTU4145BinaryField;
9: goto 14
10: StackMap locals: org.bouncycastle.math.field.PolynomialExtensionField int[]
StackMap stack:
aload 4
arraylength
iconst_5
if_icmpne 13
11: aload 0
new org.bouncycastle.asn1.ua.DSTU4145BinaryField
dup
aload 4
iconst_4
iaload
aload 4
iconst_1
iaload
aload 4
iconst_2
iaload
aload 4
iconst_3
iaload
invokespecial org.bouncycastle.asn1.ua.DSTU4145BinaryField.<init>:(IIII)V
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.f:Lorg/bouncycastle/asn1/ua/DSTU4145BinaryField;
12: goto 14
13: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "curve must have a trinomial or pentanomial basis"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
new org.bouncycastle.asn1.ASN1Integer
dup
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(Ljava/math/BigInteger;)V
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.a:Lorg/bouncycastle/asn1/ASN1Integer;
15: aload 0
new org.bouncycastle.asn1.DEROctetString
dup
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getB:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.getEncoded:()[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.b:Lorg/bouncycastle/asn1/ASN1OctetString;
16: aload 0
new org.bouncycastle.asn1.ASN1Integer
dup
aload 1
invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getN:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(Ljava/math/BigInteger;)V
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.n:Lorg/bouncycastle/asn1/ASN1Integer;
17: aload 0
new org.bouncycastle.asn1.DEROctetString
dup
aload 1
invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getG:()Lorg/bouncycastle/math/ec/ECPoint;
invokestatic org.bouncycastle.asn1.ua.DSTU4145PointEncoder.encodePoint:(Lorg/bouncycastle/math/ec/ECPoint;)[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.bp:Lorg/bouncycastle/asn1/ASN1OctetString;
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
0 19 1 params Lorg/bouncycastle/crypto/params/ECDomainParameters;
3 19 2 curve Lorg/bouncycastle/math/ec/ECCurve;
6 19 3 field Lorg/bouncycastle/math/field/PolynomialExtensionField;
7 19 4 exponents [I
MethodParameters:
Name Flags
params
private void <init>(org.bouncycastle.asn1.ASN1Sequence);
descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.asn1.ASN1Object.<init>:()V
1: aload 0
lconst_0
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.version:Ljava/math/BigInteger;
2: iconst_0
istore 2
start local 2 3: aload 1
iload 2
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
instanceof org.bouncycastle.asn1.ASN1TaggedObject
ifeq 10
4: aload 1
iload 2
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
checkcast org.bouncycastle.asn1.ASN1TaggedObject
astore 3
start local 3 5: aload 3
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.isExplicit:()Z
ifeq 9
aload 3
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
ifne 9
6: aload 0
aload 3
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getLoadedObject:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.version:Ljava/math/BigInteger;
7: iinc 2 1
8: goto 10
9: StackMap locals: org.bouncycastle.asn1.ua.DSTU4145ECBinary org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.ASN1TaggedObject
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "object parse error"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 10: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ua.DSTU4145BinaryField.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ua/DSTU4145BinaryField;
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.f:Lorg/bouncycastle/asn1/ua/DSTU4145BinaryField;
11: iinc 2 1
12: aload 0
aload 1
iload 2
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Integer;
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.a:Lorg/bouncycastle/asn1/ASN1Integer;
13: iinc 2 1
14: aload 0
aload 1
iload 2
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.b:Lorg/bouncycastle/asn1/ASN1OctetString;
15: iinc 2 1
16: aload 0
aload 1
iload 2
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ASN1Integer.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Integer;
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.n:Lorg/bouncycastle/asn1/ASN1Integer;
17: iinc 2 1
18: aload 0
aload 1
iload 2
invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
putfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.bp:Lorg/bouncycastle/asn1/ASN1OctetString;
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
0 20 1 seq Lorg/bouncycastle/asn1/ASN1Sequence;
3 20 2 index I
5 10 3 taggedVersion Lorg/bouncycastle/asn1/ASN1TaggedObject;
MethodParameters:
Name Flags
seq
public static org.bouncycastle.asn1.ua.DSTU4145ECBinary getInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.bouncycastle.asn1.ua.DSTU4145ECBinary
ifeq 2
1: aload 0
checkcast org.bouncycastle.asn1.ua.DSTU4145ECBinary
areturn
2: StackMap locals:
StackMap stack:
aload 0
ifnull 4
3: new org.bouncycastle.asn1.ua.DSTU4145ECBinary
dup
aload 0
invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
invokespecial org.bouncycastle.asn1.ua.DSTU4145ECBinary.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public org.bouncycastle.asn1.ua.DSTU4145BinaryField getField();
descriptor: ()Lorg/bouncycastle/asn1/ua/DSTU4145BinaryField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.f:Lorg/bouncycastle/asn1/ua/DSTU4145BinaryField;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
public java.math.BigInteger getA();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.a:Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
public byte[] getB();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.b:Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
public java.math.BigInteger getN();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.n:Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
public byte[] getG();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.bp:Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
public org.bouncycastle.asn1.ASN1Primitive toASN1Primitive();
descriptor: ()Lorg/bouncycastle/asn1/ASN1Primitive;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.version:Ljava/math/BigInteger;
lconst_0
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifeq 3
2: aload 1
new org.bouncycastle.asn1.DERTaggedObject
dup
iconst_1
iconst_0
new org.bouncycastle.asn1.ASN1Integer
dup
aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.version:Ljava/math/BigInteger;
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:(Ljava/math/BigInteger;)V
invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
3: StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector
StackMap stack:
aload 1
aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.f:Lorg/bouncycastle/asn1/ua/DSTU4145BinaryField;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
4: aload 1
aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.a:Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
5: aload 1
aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.b:Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
6: aload 1
aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.n:Lorg/bouncycastle/asn1/ASN1Integer;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
7: aload 1
aload 0
getfield org.bouncycastle.asn1.ua.DSTU4145ECBinary.bp:Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
8: new org.bouncycastle.asn1.DERSequence
dup
aload 1
invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/asn1/ua/DSTU4145ECBinary;
1 9 1 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
}
SourceFile: "DSTU4145ECBinary.java"