public class org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal extends org.bouncycastle.jce.provider.JDKAlgorithmParameters
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal
super_class: org.bouncycastle.jce.provider.JDKAlgorithmParameters
{
org.bouncycastle.jce.spec.ElGamalParameterSpec currentSpec;
descriptor: Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.jce.provider.JDKAlgorithmParameters.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameters$ElGamal;
protected byte[] engineGetEncoded();
descriptor: ()[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: new org.bouncycastle.asn1.oiw.ElGamalParameter
dup
aload 0
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.currentSpec:Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
invokevirtual org.bouncycastle.jce.spec.ElGamalParameterSpec.getP:()Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.currentSpec:Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
invokevirtual org.bouncycastle.jce.spec.ElGamalParameterSpec.getG:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.asn1.oiw.ElGamalParameter.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
astore 1
start local 1 1: aload 1
ldc "DER"
invokevirtual org.bouncycastle.asn1.oiw.ElGamalParameter.getEncoded:(Ljava/lang/String;)[B
2: areturn
3: StackMap locals: org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal org.bouncycastle.asn1.oiw.ElGamalParameter
StackMap stack: java.io.IOException
pop
4: new java.lang.RuntimeException
dup
ldc "Error encoding ElGamalParameters"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameters$ElGamal;
1 5 1 elP Lorg/bouncycastle/asn1/oiw/ElGamalParameter;
Exception table:
from to target type
1 2 3 Class java.io.IOException
protected byte[] engineGetEncoded(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.isASN1FormatString:(Ljava/lang/String;)Z
ifne 1
aload 1
ldc "X.509"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.engineGetEncoded:()[B
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameters$ElGamal;
0 3 1 format Ljava/lang/String;
MethodParameters:
Name Flags
format
protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
if_acmpne 2
1: aload 0
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.currentSpec:Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Ljavax/crypto/spec/DHParameterSpec;
if_acmpne 4
3: new javax.crypto.spec.DHParameterSpec
dup
aload 0
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.currentSpec:Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
invokevirtual org.bouncycastle.jce.spec.ElGamalParameterSpec.getP:()Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.currentSpec:Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
invokevirtual org.bouncycastle.jce.spec.ElGamalParameterSpec.getG:()Ljava/math/BigInteger;
invokespecial javax.crypto.spec.DHParameterSpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
areturn
4: StackMap locals:
StackMap stack:
new java.security.spec.InvalidParameterSpecException
dup
ldc "unknown parameter spec passed to ElGamal parameters object."
invokespecial java.security.spec.InvalidParameterSpecException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameters$ElGamal;
0 5 1 paramSpec Ljava/lang/Class;
Exceptions:
throws java.security.spec.InvalidParameterSpecException
MethodParameters:
Name Flags
paramSpec
protected void engineInit(java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.bouncycastle.jce.spec.ElGamalParameterSpec
ifne 2
aload 1
instanceof javax.crypto.spec.DHParameterSpec
ifne 2
1: new java.security.spec.InvalidParameterSpecException
dup
ldc "DHParameterSpec required to initialise a ElGamal algorithm parameters object"
invokespecial java.security.spec.InvalidParameterSpecException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.jce.spec.ElGamalParameterSpec
ifeq 5
3: aload 0
aload 1
checkcast org.bouncycastle.jce.spec.ElGamalParameterSpec
putfield org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.currentSpec:Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
4: goto 7
5: StackMap locals:
StackMap stack:
aload 1
checkcast javax.crypto.spec.DHParameterSpec
astore 2
start local 2 6: aload 0
new org.bouncycastle.jce.spec.ElGamalParameterSpec
dup
aload 2
invokevirtual javax.crypto.spec.DHParameterSpec.getP:()Ljava/math/BigInteger;
aload 2
invokevirtual javax.crypto.spec.DHParameterSpec.getG:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.jce.spec.ElGamalParameterSpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
putfield org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.currentSpec:Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameters$ElGamal;
0 8 1 paramSpec Ljava/security/spec/AlgorithmParameterSpec;
6 7 2 s Ljavax/crypto/spec/DHParameterSpec;
Exceptions:
throws java.security.spec.InvalidParameterSpecException
MethodParameters:
Name Flags
paramSpec
protected void engineInit(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.oiw.ElGamalParameter
dup
aload 1
invokestatic org.bouncycastle.asn1.ASN1Object.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
checkcast org.bouncycastle.asn1.ASN1Sequence
invokespecial org.bouncycastle.asn1.oiw.ElGamalParameter.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
astore 2
start local 2 1: aload 0
new org.bouncycastle.jce.spec.ElGamalParameterSpec
dup
aload 2
invokevirtual org.bouncycastle.asn1.oiw.ElGamalParameter.getP:()Ljava/math/BigInteger;
aload 2
invokevirtual org.bouncycastle.asn1.oiw.ElGamalParameter.getG:()Ljava/math/BigInteger;
invokespecial org.bouncycastle.jce.spec.ElGamalParameterSpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
putfield org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.currentSpec:Lorg/bouncycastle/jce/spec/ElGamalParameterSpec;
end local 2 2: goto 7
3: StackMap locals:
StackMap stack: java.lang.ClassCastException
pop
4: new java.io.IOException
dup
ldc "Not a valid ElGamal Parameter encoding."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
pop
6: new java.io.IOException
dup
ldc "Not a valid ElGamal Parameter encoding."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameters$ElGamal;
0 8 1 params [B
1 2 2 elP Lorg/bouncycastle/asn1/oiw/ElGamalParameter;
Exception table:
from to target type
0 2 3 Class java.lang.ClassCastException
0 2 5 Class java.lang.ArrayIndexOutOfBoundsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
params
protected void engineInit(byte[], java.lang.String);
descriptor: ([BLjava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.isASN1FormatString:(Ljava/lang/String;)Z
ifne 1
aload 2
ldc "X.509"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 3
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal.engineInit:([B)V
2: goto 4
3: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unknown parameter format "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameters$ElGamal;
0 5 1 params [B
0 5 2 format Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
params
format
protected java.lang.String engineToString();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "ElGamal Parameters"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameters$ElGamal;
}
SourceFile: "JDKAlgorithmParameters.java"
NestHost: org.bouncycastle.jce.provider.JDKAlgorithmParameters
InnerClasses:
public ElGamal = org.bouncycastle.jce.provider.JDKAlgorithmParameters$ElGamal of org.bouncycastle.jce.provider.JDKAlgorithmParameters