diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java b/bcprov/src/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java index 5ada493..b47e9cd 100644 --- a/bcprov/src/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java +++ b/bcprov/src/main/java/org/bouncycastle/asn1/pkcs/PBES2Parameters.java @@ -13,26 +13,31 @@ public class PBES2Parameters extends ASN1Object implements PKCSObjectIdentifiers { - private KeyDerivationFunc func; - private EncryptionScheme scheme; + private KeyDerivationFunc func; + private EncryptionScheme scheme; public static PBES2Parameters getInstance( Object obj) { - if (obj== null || obj instanceof PBES2Parameters) + if (obj instanceof PBES2Parameters) { return (PBES2Parameters)obj; } - - if (obj instanceof ASN1Sequence) + if (obj != null) { - return new PBES2Parameters((ASN1Sequence)obj); + return new PBES2Parameters(ASN1Sequence.getInstance(obj)); } - throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); + return null; + } + + public PBES2Parameters(KeyDerivationFunc keyDevFunc, EncryptionScheme encScheme) + { + this.func = keyDevFunc; + this.scheme = encScheme; } - public PBES2Parameters( + private PBES2Parameters( ASN1Sequence obj) { Enumeration e = obj.getObjects(); @@ -44,10 +49,10 @@ public class PBES2Parameters } else { - func = new KeyDerivationFunc(funcSeq); + func = KeyDerivationFunc.getInstance(funcSeq); } - scheme = (EncryptionScheme)EncryptionScheme.getInstance(e.nextElement()); + scheme = EncryptionScheme.getInstance(e.nextElement()); } public KeyDerivationFunc getKeyDerivationFunc() |