public class org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper extends org.bouncycastle.operator.AsymmetricKeyUnwrapper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper
super_class: org.bouncycastle.operator.AsymmetricKeyUnwrapper
{
private org.bouncycastle.operator.jcajce.OperatorHelper helper;
descriptor: Lorg/bouncycastle/operator/jcajce/OperatorHelper;
flags: (0x0002) ACC_PRIVATE
private java.util.Map ;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
private java.security.PrivateKey privKey;
descriptor: Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
private byte[] partyUInfo;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] partyVInfo;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.asn1.x509.AlgorithmIdentifier, java.security.PrivateKey, byte[], byte[]);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Ljava/security/PrivateKey;[B[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokespecial org.bouncycastle.operator.AsymmetricKeyUnwrapper.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
1: aload 0
new org.bouncycastle.operator.jcajce.OperatorHelper
dup
new org.bouncycastle.jcajce.util.DefaultJcaJceHelper
dup
invokespecial org.bouncycastle.jcajce.util.DefaultJcaJceHelper.<init>:()V
invokespecial org.bouncycastle.operator.jcajce.OperatorHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.extraMappings:Ljava/util/Map;
3: aload 0
aload 2
putfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.privKey:Ljava/security/PrivateKey;
4: aload 0
aload 3
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
putfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.partyUInfo:[B
5: aload 0
aload 4
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
putfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.partyVInfo:[B
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/operator/jcajce/JceKTSKeyUnwrapper;
0 7 1 algorithmIdentifier Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 7 2 privKey Ljava/security/PrivateKey;
0 7 3 partyUInfo [B
0 7 4 partyVInfo [B
MethodParameters:
Name Flags
algorithmIdentifier
privKey
partyUInfo
partyVInfo
public org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper setProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)Lorg/bouncycastle/operator/jcajce/JceKTSKeyUnwrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.operator.jcajce.OperatorHelper
dup
new org.bouncycastle.jcajce.util.ProviderJcaJceHelper
dup
aload 1
invokespecial org.bouncycastle.jcajce.util.ProviderJcaJceHelper.<init>:(Ljava/security/Provider;)V
invokespecial org.bouncycastle.operator.jcajce.OperatorHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JceKTSKeyUnwrapper;
0 2 1 provider Ljava/security/Provider;
MethodParameters:
Name Flags
provider
public org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper setProvider(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bouncycastle/operator/jcajce/JceKTSKeyUnwrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.bouncycastle.operator.jcajce.OperatorHelper
dup
new org.bouncycastle.jcajce.util.NamedJcaJceHelper
dup
aload 1
invokespecial org.bouncycastle.jcajce.util.NamedJcaJceHelper.<init>:(Ljava/lang/String;)V
invokespecial org.bouncycastle.operator.jcajce.OperatorHelper.<init>:(Lorg/bouncycastle/jcajce/util/JcaJceHelper;)V
putfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/operator/jcajce/JceKTSKeyUnwrapper;
0 2 1 providerName Ljava/lang/String;
MethodParameters:
Name Flags
providerName
public org.bouncycastle.operator.GenericKey generateUnwrappedKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier, byte[]);
descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B)Lorg/bouncycastle/operator/GenericKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.cms.GenericHybridParameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/GenericHybridParameters;
astore 3
start local 3 1: aload 0
getfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 0
invokevirtual org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.getAlgorithmIdentifier:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
aload 0
getfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.extraMappings:Ljava/util/Map;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.createAsymmetricWrapper:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/util/Map;)Ljavax/crypto/Cipher;
astore 4
start local 4 2: aload 0
getfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 3
invokevirtual org.bouncycastle.asn1.cms.GenericHybridParameters.getDem:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.getWrappingAlgorithmName:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Ljava/lang/String;
astore 5
start local 5 3: aload 3
invokevirtual org.bouncycastle.asn1.cms.GenericHybridParameters.getKem:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
invokestatic org.bouncycastle.asn1.cms.RsaKemParameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/RsaKemParameters;
astore 6
start local 6 4: aload 6
invokevirtual org.bouncycastle.asn1.cms.RsaKemParameters.getKeyLength:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
bipush 8
imul
istore 7
start local 7 5: new org.bouncycastle.crypto.util.DEROtherInfo$Builder
dup
aload 3
invokevirtual org.bouncycastle.asn1.cms.GenericHybridParameters.getDem:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
aload 0
getfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.partyUInfo:[B
aload 0
getfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.partyVInfo:[B
invokespecial org.bouncycastle.crypto.util.DEROtherInfo$Builder.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;[B[B)V
invokevirtual org.bouncycastle.crypto.util.DEROtherInfo$Builder.build:()Lorg/bouncycastle/crypto/util/DEROtherInfo;
astore 9
start local 9 6: new org.bouncycastle.jcajce.spec.KTSParameterSpec$Builder
dup
aload 5
iload 7
aload 9
invokevirtual org.bouncycastle.crypto.util.DEROtherInfo.getEncoded:()[B
invokespecial org.bouncycastle.jcajce.spec.KTSParameterSpec$Builder.<init>:(Ljava/lang/String;I[B)V
aload 6
invokevirtual org.bouncycastle.asn1.cms.RsaKemParameters.getKeyDerivationFunction:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
invokevirtual org.bouncycastle.jcajce.spec.KTSParameterSpec$Builder.withKdfAlgorithm:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/jcajce/spec/KTSParameterSpec$Builder;
invokevirtual org.bouncycastle.jcajce.spec.KTSParameterSpec$Builder.build:()Lorg/bouncycastle/jcajce/spec/KTSParameterSpec;
astore 10
start local 10 7: aload 4
iconst_4
aload 0
getfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.privKey:Ljava/security/PrivateKey;
aload 10
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
8: aload 4
aload 2
aload 0
getfield org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper.helper:Lorg/bouncycastle/operator/jcajce/OperatorHelper;
aload 1
invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
invokevirtual org.bouncycastle.operator.jcajce.OperatorHelper.getKeyAlgorithmName:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Ljava/lang/String;
iconst_3
invokevirtual javax.crypto.Cipher.unwrap:([BLjava/lang/String;I)Ljava/security/Key;
astore 8
end local 10 end local 9 start local 8 9: goto 12
end local 8 10: StackMap locals: org.bouncycastle.operator.jcajce.JceKTSKeyUnwrapper org.bouncycastle.asn1.x509.AlgorithmIdentifier byte[] org.bouncycastle.asn1.cms.GenericHybridParameters javax.crypto.Cipher java.lang.String org.bouncycastle.asn1.cms.RsaKemParameters int
StackMap stack: java.lang.Exception
astore 9
start local 9 11: new org.bouncycastle.operator.OperatorException
dup
new java.lang.StringBuilder
dup
ldc "Unable to unwrap contents key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
invokespecial org.bouncycastle.operator.OperatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 start local 8 12: StackMap locals: java.security.Key
StackMap stack:
new org.bouncycastle.operator.jcajce.JceGenericKey
dup
aload 1
aload 8
invokespecial org.bouncycastle.operator.jcajce.JceGenericKey.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Ljava/security/Key;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/operator/jcajce/JceKTSKeyUnwrapper;
0 13 1 encryptedKeyAlgorithm Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
0 13 2 encryptedKey [B
1 13 3 params Lorg/bouncycastle/asn1/cms/GenericHybridParameters;
2 13 4 keyCipher Ljavax/crypto/Cipher;
3 13 5 symmetricWrappingAlg Ljava/lang/String;
4 13 6 kemParameters Lorg/bouncycastle/asn1/cms/RsaKemParameters;
5 13 7 keySizeInBits I
9 10 8 sKey Ljava/security/Key;
12 13 8 sKey Ljava/security/Key;
6 9 9 otherInfo Lorg/bouncycastle/crypto/util/DEROtherInfo;
7 9 10 ktsSpec Lorg/bouncycastle/jcajce/spec/KTSParameterSpec;
11 12 9 e Ljava/lang/Exception;
Exception table:
from to target type
5 9 10 Class java.lang.Exception
Exceptions:
throws org.bouncycastle.operator.OperatorException
MethodParameters:
Name Flags
encryptedKeyAlgorithm
encryptedKey
}
SourceFile: "JceKTSKeyUnwrapper.java"
InnerClasses:
public final Builder = org.bouncycastle.crypto.util.DEROtherInfo$Builder of org.bouncycastle.crypto.util.DEROtherInfo
public final Builder = org.bouncycastle.jcajce.spec.KTSParameterSpec$Builder of org.bouncycastle.jcajce.spec.KTSParameterSpec