class org.bouncycastle.crypto.util.PublicKeyFactory$DHAgreementConverter 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$DHAgreementConverter
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$DHAgreementConverter this
0: .line 215
aload 0 /* this */
invokespecial org.bouncycastle.crypto.util.PublicKeyFactory$SubjectPublicKeyInfoConverter.<init>:()V
return
end local 0 // org.bouncycastle.crypto.util.PublicKeyFactory$DHAgreementConverter this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/util/PublicKeyFactory$DHAgreementConverter;
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=6, locals=8, args_size=3
start local 0 // org.bouncycastle.crypto.util.PublicKeyFactory$DHAgreementConverter this
start local 1 // org.bouncycastle.asn1.x509.SubjectPublicKeyInfo keyInfo
start local 2 // java.lang.Object defaultParams
0: .line 221
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.pkcs.DHParameter.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/DHParameter;
astore 3 /* params */
start local 3 // org.bouncycastle.asn1.pkcs.DHParameter params
1: .line 222
aload 1 /* keyInfo */
invokevirtual org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.parsePublicKey:()Lorg/bouncycastle/asn1/ASN1Primitive;
checkcast org.bouncycastle.asn1.ASN1Integer
astore 4 /* derY */
start local 4 // org.bouncycastle.asn1.ASN1Integer derY
2: .line 224
aload 3 /* params */
invokevirtual org.bouncycastle.asn1.pkcs.DHParameter.getL:()Ljava/math/BigInteger;
astore 5 /* lVal */
start local 5 // java.math.BigInteger lVal
3: .line 225
aload 5 /* lVal */
ifnonnull 4
iconst_0
goto 5
StackMap locals: org.bouncycastle.asn1.pkcs.DHParameter org.bouncycastle.asn1.ASN1Integer java.math.BigInteger
StackMap stack:
4: aload 5 /* lVal */
invokevirtual java.math.BigInteger.intValue:()I
StackMap locals:
StackMap stack: int
5: istore 6 /* l */
start local 6 // int l
6: .line 226
new org.bouncycastle.crypto.params.DHParameters
dup
aload 3 /* params */
invokevirtual org.bouncycastle.asn1.pkcs.DHParameter.getP:()Ljava/math/BigInteger;
aload 3 /* params */
invokevirtual org.bouncycastle.asn1.pkcs.DHParameter.getG:()Ljava/math/BigInteger;
aconst_null
iload 6 /* l */
invokespecial org.bouncycastle.crypto.params.DHParameters.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;I)V
astore 7 /* dhParams */
start local 7 // org.bouncycastle.crypto.params.DHParameters dhParams
7: .line 228
new org.bouncycastle.crypto.params.DHPublicKeyParameters
dup
aload 4 /* derY */
invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
aload 7 /* dhParams */
invokespecial org.bouncycastle.crypto.params.DHPublicKeyParameters.<init>:(Ljava/math/BigInteger;Lorg/bouncycastle/crypto/params/DHParameters;)V
areturn
end local 7 // org.bouncycastle.crypto.params.DHParameters dhParams
end local 6 // int l
end local 5 // java.math.BigInteger lVal
end local 4 // org.bouncycastle.asn1.ASN1Integer derY
end local 3 // org.bouncycastle.asn1.pkcs.DHParameter params
end local 2 // java.lang.Object defaultParams
end local 1 // org.bouncycastle.asn1.x509.SubjectPublicKeyInfo keyInfo
end local 0 // org.bouncycastle.crypto.util.PublicKeyFactory$DHAgreementConverter this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/util/PublicKeyFactory$DHAgreementConverter;
0 8 1 keyInfo Lorg/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
0 8 2 defaultParams Ljava/lang/Object;
1 8 3 params Lorg/bouncycastle/asn1/pkcs/DHParameter;
2 8 4 derY Lorg/bouncycastle/asn1/ASN1Integer;
3 8 5 lVal Ljava/math/BigInteger;
6 8 6 l I
7 8 7 dhParams Lorg/bouncycastle/crypto/params/DHParameters;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
keyInfo
defaultParams
}
SourceFile: "PublicKeyFactory.java"
NestHost: org.bouncycastle.crypto.util.PublicKeyFactory
InnerClasses:
private DHAgreementConverter = org.bouncycastle.crypto.util.PublicKeyFactory$DHAgreementConverter of org.bouncycastle.crypto.util.PublicKeyFactory
private abstract SubjectPublicKeyInfoConverter = org.bouncycastle.crypto.util.PublicKeyFactory$SubjectPublicKeyInfoConverter of org.bouncycastle.crypto.util.PublicKeyFactory