public class org.bouncycastle.operator.jcajce.JcaAlgorithmParametersConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.operator.jcajce.JcaAlgorithmParametersConverter
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.operator.jcajce.JcaAlgorithmParametersConverter this
0: .line 24
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 26
return
end local 0 // org.bouncycastle.operator.jcajce.JcaAlgorithmParametersConverter this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JcaAlgorithmParametersConverter;
public org.bouncycastle.asn1.x509.AlgorithmIdentifier getAlgorithmIdentifier(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.security.AlgorithmParameters);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/security/AlgorithmParameters;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 // org.bouncycastle.operator.jcajce.JcaAlgorithmParametersConverter this
start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier algId
start local 2 // java.security.AlgorithmParameters parameters
0: .line 33
aload 2 /* parameters */
invokevirtual java.security.AlgorithmParameters.getEncoded:()[B
invokestatic org.bouncycastle.asn1.ASN1Primitive.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Primitive;
astore 3 /* params */
start local 3 // org.bouncycastle.asn1.ASN1Encodable params
1: .line 35
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 1 /* algId */
aload 3 /* params */
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
2: areturn
end local 3 // org.bouncycastle.asn1.ASN1Encodable params
3: .line 37
StackMap locals:
StackMap stack: java.io.IOException
astore 3 /* e */
start local 3 // java.io.IOException e
4: .line 39
new java.security.InvalidAlgorithmParameterException
dup
new java.lang.StringBuilder
dup
ldc "unable to encode parameters object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* e */
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // java.io.IOException e
end local 2 // java.security.AlgorithmParameters parameters
end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier algId
end local 0 // org.bouncycastle.operator.jcajce.JcaAlgorithmParametersConverter this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/operator/jcajce/JcaAlgorithmParametersConverter;
0 5 1 algId Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 5 2 parameters Ljava/security/AlgorithmParameters;
1 3 3 params Lorg/bouncycastle/asn1/ASN1Encodable;
4 5 3 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
algId
parameters
public org.bouncycastle.asn1.x509.AlgorithmIdentifier getAlgorithmIdentifier(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.security.spec.AlgorithmParameterSpec);
descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/security/spec/AlgorithmParameterSpec;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=13, locals=7, args_size=3
start local 0 // org.bouncycastle.operator.jcajce.JcaAlgorithmParametersConverter this
start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
start local 2 // java.security.spec.AlgorithmParameterSpec algorithmSpec
0: .line 46
aload 2 /* algorithmSpec */
instanceof javax.crypto.spec.OAEPParameterSpec
ifeq 16
1: .line 48
aload 2 /* algorithmSpec */
getstatic javax.crypto.spec.OAEPParameterSpec.DEFAULT:Ljavax/crypto/spec/OAEPParameterSpec;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
2: .line 50
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 1 /* algorithm */
3: .line 51
new org.bouncycastle.asn1.pkcs.RSAESOAEPparams
dup
getstatic org.bouncycastle.asn1.pkcs.RSAESOAEPparams.DEFAULT_HASH_ALGORITHM:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
getstatic org.bouncycastle.asn1.pkcs.RSAESOAEPparams.DEFAULT_MASK_GEN_FUNCTION:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
getstatic org.bouncycastle.asn1.pkcs.RSAESOAEPparams.DEFAULT_P_SOURCE_ALGORITHM:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokespecial org.bouncycastle.asn1.pkcs.RSAESOAEPparams.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
4: .line 50
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
areturn
5: .line 55
StackMap locals:
StackMap stack:
aload 2 /* algorithmSpec */
checkcast javax.crypto.spec.OAEPParameterSpec
astore 3 /* oaepSpec */
start local 3 // javax.crypto.spec.OAEPParameterSpec oaepSpec
6: .line 56
aload 3 /* oaepSpec */
invokevirtual javax.crypto.spec.OAEPParameterSpec.getPSource:()Ljavax/crypto/spec/PSource;
astore 4 /* pSource */
start local 4 // javax.crypto.spec.PSource pSource
7: .line 58
aload 3 /* oaepSpec */
invokevirtual javax.crypto.spec.OAEPParameterSpec.getMGFAlgorithm:()Ljava/lang/String;
getstatic javax.crypto.spec.OAEPParameterSpec.DEFAULT:Ljavax/crypto/spec/OAEPParameterSpec;
invokevirtual javax.crypto.spec.OAEPParameterSpec.getMGFAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
8: .line 60
new java.security.InvalidAlgorithmParameterException
dup
new java.lang.StringBuilder
dup
ldc "only "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic javax.crypto.spec.OAEPParameterSpec.DEFAULT:Ljavax/crypto/spec/OAEPParameterSpec;
invokevirtual javax.crypto.spec.OAEPParameterSpec.getMGFAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " mask generator supported."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
9: .line 63
StackMap locals: javax.crypto.spec.OAEPParameterSpec javax.crypto.spec.PSource
StackMap stack:
new org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder
dup
invokespecial org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder.<init>:()V
aload 3 /* oaepSpec */
invokevirtual javax.crypto.spec.OAEPParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
invokevirtual org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder.find:(Ljava/lang/String;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
astore 5 /* hashAlgorithm */
start local 5 // org.bouncycastle.asn1.x509.AlgorithmIdentifier hashAlgorithm
10: .line 64
new org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder
dup
invokespecial org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder.<init>:()V
aload 3 /* oaepSpec */
invokevirtual javax.crypto.spec.OAEPParameterSpec.getMGFParameters:()Ljava/security/spec/AlgorithmParameterSpec;
checkcast java.security.spec.MGF1ParameterSpec
invokevirtual java.security.spec.MGF1ParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
invokevirtual org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder.find:(Ljava/lang/String;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
astore 6 /* mgf1HashAlgorithm */
start local 6 // org.bouncycastle.asn1.x509.AlgorithmIdentifier mgf1HashAlgorithm
11: .line 65
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
aload 1 /* algorithm */
12: .line 66
new org.bouncycastle.asn1.pkcs.RSAESOAEPparams
dup
aload 5 /* hashAlgorithm */
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_mgf1:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 6 /* mgf1HashAlgorithm */
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
13: .line 67
new org.bouncycastle.asn1.x509.AlgorithmIdentifier
dup
getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_pSpecified:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
new org.bouncycastle.asn1.DEROctetString
dup
aload 4 /* pSource */
checkcast javax.crypto.spec.PSource$PSpecified
invokevirtual javax.crypto.spec.PSource$PSpecified.getValue:()[B
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
14: .line 66
invokespecial org.bouncycastle.asn1.pkcs.RSAESOAEPparams.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
15: .line 65
invokespecial org.bouncycastle.asn1.x509.AlgorithmIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
areturn
end local 6 // org.bouncycastle.asn1.x509.AlgorithmIdentifier mgf1HashAlgorithm
end local 5 // org.bouncycastle.asn1.x509.AlgorithmIdentifier hashAlgorithm
end local 4 // javax.crypto.spec.PSource pSource
end local 3 // javax.crypto.spec.OAEPParameterSpec oaepSpec
16: .line 71
StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
ldc "unknown parameter spec passed."
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 2 // java.security.spec.AlgorithmParameterSpec algorithmSpec
end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
end local 0 // org.bouncycastle.operator.jcajce.JcaAlgorithmParametersConverter this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/operator/jcajce/JcaAlgorithmParametersConverter;
0 17 1 algorithm Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
0 17 2 algorithmSpec Ljava/security/spec/AlgorithmParameterSpec;
6 16 3 oaepSpec Ljavax/crypto/spec/OAEPParameterSpec;
7 16 4 pSource Ljavax/crypto/spec/PSource;
10 16 5 hashAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
11 16 6 mgf1HashAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
algorithm
algorithmSpec
}
SourceFile: "JcaAlgorithmParametersConverter.java"
InnerClasses:
public final PSpecified = javax.crypto.spec.PSource$PSpecified of javax.crypto.spec.PSource