diff options
Diffstat (limited to 'crypto/src/security/PbeUtilities.cs')
-rw-r--r-- | crypto/src/security/PbeUtilities.cs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/src/security/PbeUtilities.cs b/crypto/src/security/PbeUtilities.cs index 33f31e5b4..ce47e38e5 100644 --- a/crypto/src/security/PbeUtilities.cs +++ b/crypto/src/security/PbeUtilities.cs @@ -217,7 +217,7 @@ namespace Org.BouncyCastle.Security } else if (type.Equals(Pkcs5S2)) { - generator = new Pkcs5S2ParametersGenerator(); + generator = new Pkcs5S2ParametersGenerator(digest); } else if (type.Equals(Pkcs12)) { @@ -404,8 +404,8 @@ namespace Org.BouncyCastle.Security DerObjectIdentifier encOid = encScheme.Algorithm; Asn1Object encParams = encScheme.Parameters.ToAsn1Object(); - // TODO What about s2p.KeyDerivationFunc.Algorithm? Pbkdf2Params pbeParams = Pbkdf2Params.GetInstance(s2p.KeyDerivationFunc.Parameters.ToAsn1Object()); + IDigest digest = DigestUtilities.GetDigest(pbeParams.Prf.Algorithm); byte[] iv; if (encOid.Equals(PkcsObjectIdentifiers.RC2Cbc)) // PKCS5.B.2.3 @@ -427,7 +427,7 @@ namespace Org.BouncyCastle.Security : GeneratorUtilities.GetDefaultKeySize(encOid); PbeParametersGenerator gen = MakePbeGenerator( - (string)algorithmType[mechanism], null, keyBytes, salt, iterationCount); + (string)algorithmType[mechanism], digest, keyBytes, salt, iterationCount); parameters = gen.GenerateDerivedParameters(encOid.Id, keyLength); |