class org.bouncycastle.crypto.util.PublicKeyFactory$DHPublicNumberConverter extends org.bouncycastle.crypto.util.PublicKeyFactory$SubjectPublicKeyInfoConverter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.crypto.util.PublicKeyFactory$DHPublicNumberConverter
super_class: org.bouncycastle.crypto.util.PublicKeyFactory$SubjectPublicKeyInfoConverter
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.util.PublicKeyFactory$DHPublicNumberConverter this
0: .line 177
aload 0 /* this */
invokespecial org.bouncycastle.crypto.util.PublicKeyFactory$SubjectPublicKeyInfoConverter.<init>:()V
return
end local 0 // org.bouncycastle.crypto.util.PublicKeyFactory$DHPublicNumberConverter this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/util/PublicKeyFactory$DHPublicNumberConverter;
org.bouncycastle.crypto.params.AsymmetricKeyParameter getPublicKeyParameters(org.bouncycastle.asn1.x509.SubjectPublicKeyInfo, java.lang.Object);
descriptor: (Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;Ljava/lang/Object;)Lorg/bouncycastle/crypto/params/AsymmetricKeyParameter;
flags: (0x0000)
Code:
stack=10, locals=14, args_size=3
start local 0 // org.bouncycastle.crypto.util.PublicKeyFactory$DHPublicNumberConverter this
start local 1 // org.bouncycastle.asn1.x509.SubjectPublicKeyInfo keyInfo
start local 2 // java.lang.Object defaultParams
0: .line 183
aload 1 /* keyInfo */
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.parsePublicKey:()Lorg/bouncycastle/asn1/ASN1Primitive;
invokestatic org.bouncycastle.asn1.x9.DHPublicKey.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x9/DHPublicKey;
astore 3 /* dhPublicKey */
start local 3 // org.bouncycastle.asn1.x9.DHPublicKey dhPublicKey
1: .line 185
aload 3 /* dhPublicKey */
invokevirtual org.bouncycastle.asn1.x9.DHPublicKey.getY:()Ljava/math/BigInteger;
astore 4 /* y */
start local 4 // java.math.BigInteger y
2: .line 187
aload 1 /* keyInfo */
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.x9.DomainParameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x9/DomainParameters;
astore 5 /* dhParams */
start local 5 // org.bouncycastle.asn1.x9.DomainParameters dhParams
3: .line 189
aload 5 /* dhParams */
invokevirtual org.bouncycastle.asn1.x9.DomainParameters.getP:()Ljava/math/BigInteger;
astore 6 /* p */
start local 6 // java.math.BigInteger p
4: .line 190
aload 5 /* dhParams */
invokevirtual org.bouncycastle.asn1.x9.DomainParameters.getG:()Ljava/math/BigInteger;
astore 7 /* g */
start local 7 // java.math.BigInteger g
5: .line 191
aload 5 /* dhParams */
invokevirtual org.bouncycastle.asn1.x9.DomainParameters.getQ:()Ljava/math/BigInteger;
astore 8 /* q */
start local 8 // java.math.BigInteger q
6: .line 193
aconst_null
astore 9 /* j */
start local 9 // java.math.BigInteger j
7: .line 194
aload 5 /* dhParams */
invokevirtual org.bouncycastle.asn1.x9.DomainParameters.getJ:()Ljava/math/BigInteger;
ifnull 9
8: .line 196
aload 5 /* dhParams */
invokevirtual org.bouncycastle.asn1.x9.DomainParameters.getJ:()Ljava/math/BigInteger;
astore 9 /* j */
9: .line 199
StackMap locals: org.bouncycastle.crypto.util.PublicKeyFactory$DHPublicNumberConverter org.bouncycastle.asn1.x509.SubjectPublicKeyInfo java.lang.Object org.bouncycastle.asn1.x9.DHPublicKey java.math.BigInteger org.bouncycastle.asn1.x9.DomainParameters java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger
StackMap stack:
aconst_null
astore 10 /* validation */
start local 10 // org.bouncycastle.crypto.params.DHValidationParameters validation
10: .line 200
aload 5 /* dhParams */
invokevirtual org.bouncycastle.asn1.x9.DomainParameters.getValidationParams:()Lorg/bouncycastle/asn1/x9/ValidationParams;
astore 11 /* dhValidationParms */
start local 11 // org.bouncycastle.asn1.x9.ValidationParams dhValidationParms
11: .line 201
aload 11 /* dhValidationParms */
ifnull 15
12: .line 203
aload 11 /* dhValidationParms */
invokevirtual org.bouncycastle.asn1.x9.ValidationParams.getSeed:()[B
astore 12 /* seed */
start local 12 // byte[] seed
13: .line 204
aload 11 /* dhValidationParms */
invokevirtual org.bouncycastle.asn1.x9.ValidationParams.getPgenCounter:()Ljava/math/BigInteger;
astore 13 /* pgenCounter */
start local 13 // java.math.BigInteger pgenCounter
14: .line 208
new org.bouncycastle.crypto.params.DHValidationParameters
dup
aload 12 /* seed */
aload 13 /* pgenCounter */
invokevirtual java.math.BigInteger.intValue:()I
invokespecial org.bouncycastle.crypto.params.DHValidationParameters.<init>:([BI)V
astore 10 /* validation */
end local 13 // java.math.BigInteger pgenCounter
end local 12 // byte[] seed
15: .line 211
StackMap locals: org.bouncycastle.crypto.params.DHValidationParameters org.bouncycastle.asn1.x9.ValidationParams
StackMap stack:
new org.bouncycastle.crypto.params.DHPublicKeyParameters
dup
aload 4 /* y */
new org.bouncycastle.crypto.params.DHParameters
dup
aload 6 /* p */
aload 7 /* g */
aload 8 /* q */
aload 9 /* j */
aload 10 /* validation */
invokespecial org.bouncycastle.crypto.params.DHParameters.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Lorg/bouncycastle/crypto/params/DHValidationParameters;)V
invokespecial org.bouncycastle.crypto.params.DHPublicKeyParameters.<init>:(Ljava/math/BigInteger;Lorg/bouncycastle/crypto/params/DHParameters;)V
areturn
end local 11 // org.bouncycastle.asn1.x9.ValidationParams dhValidationParms
end local 10 // org.bouncycastle.crypto.params.DHValidationParameters validation
end local 9 // java.math.BigInteger j
end local 8 // java.math.BigInteger q
end local 7 // java.math.BigInteger g
end local 6 // java.math.BigInteger p
end local 5 // org.bouncycastle.asn1.x9.DomainParameters dhParams
end local 4 // java.math.BigInteger y
end local 3 // org.bouncycastle.asn1.x9.DHPublicKey dhPublicKey
end local 2 // java.lang.Object defaultParams
end local 1 // org.bouncycastle.asn1.x509.SubjectPublicKeyInfo keyInfo
end local 0 // org.bouncycastle.crypto.util.PublicKeyFactory$DHPublicNumberConverter this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/bouncycastle/crypto/util/PublicKeyFactory$DHPublicNumberConverter;
0 16 1 keyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
0 16 2 defaultParams Ljava/lang/Object;
1 16 3 dhPublicKey Lorg/bouncycastle/asn1/x9/DHPublicKey;
2 16 4 y Ljava/math/BigInteger;
3 16 5 dhParams Lorg/bouncycastle/asn1/x9/DomainParameters;
4 16 6 p Ljava/math/BigInteger;
5 16 7 g Ljava/math/BigInteger;
6 16 8 q Ljava/math/BigInteger;
7 16 9 j Ljava/math/BigInteger;
10 16 10 validation Lorg/bouncycastle/crypto/params/DHValidationParameters;
11 16 11 dhValidationParms Lorg/bouncycastle/asn1/x9/ValidationParams;
13 15 12 seed [B
14 15 13 pgenCounter Ljava/math/BigInteger;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
keyInfo
defaultParams
}
SourceFile: "PublicKeyFactory.java"
NestHost: org.bouncycastle.crypto.util.PublicKeyFactory
InnerClasses:
private DHPublicNumberConverter = org.bouncycastle.crypto.util.PublicKeyFactory$DHPublicNumberConverter of org.bouncycastle.crypto.util.PublicKeyFactory
private abstract SubjectPublicKeyInfoConverter = org.bouncycastle.crypto.util.PublicKeyFactory$SubjectPublicKeyInfoConverter of org.bouncycastle.crypto.util.PublicKeyFactory