summary refs log tree commit diff
path: root/crypto/src
diff options
context:
space:
mode:
authorDavid Hook <dgh@bouncycastle.org>2021-05-31 07:41:03 +1000
committerDavid Hook <dgh@bouncycastle.org>2021-05-31 07:41:03 +1000
commit0ad3e3ad38d5f7b06fd8aa7cdda69f169c45893e (patch)
tree2224149350a24ee78cbda2f07ac19c72fd9e9de9 /crypto/src
parentCorrection (diff)
downloadBouncyCastle.NET-ed25519-0ad3e3ad38d5f7b06fd8aa7cdda69f169c45893e.tar.xz
github #262 added settable digest to OpenSSL PBE generator
Diffstat (limited to 'crypto/src')
-rw-r--r--crypto/src/crypto/generators/OpenSSLPBEParametersGenerator.cs40
1 files changed, 28 insertions, 12 deletions
diff --git a/crypto/src/crypto/generators/OpenSSLPBEParametersGenerator.cs b/crypto/src/crypto/generators/OpenSSLPBEParametersGenerator.cs

index 8da5d3ad1..1b77d3427 100644 --- a/crypto/src/crypto/generators/OpenSSLPBEParametersGenerator.cs +++ b/crypto/src/crypto/generators/OpenSSLPBEParametersGenerator.cs
@@ -6,23 +6,39 @@ using Org.BouncyCastle.Security; namespace Org.BouncyCastle.Crypto.Generators { - /** - * Generator for PBE derived keys and ivs as usd by OpenSSL. - * <p> - * The scheme is a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an - * iteration count of 1. - * </p> - */ + /// + /// <description> + /// + /// Generator for PBE derived keys and ivs as usd by OpenSSL. + /// <p> + /// Originally this scheme was a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an + /// iteration count of 1. The default digest was changed to SHA-256 with OpenSSL 1.1.0. This + /// implementation still defaults to MD5, but the digest can now be set. + /// </description> + /// public class OpenSslPbeParametersGenerator : PbeParametersGenerator { - private readonly IDigest digest = new MD5Digest(); + private readonly IDigest digest; + + /// + /// <description> + /// Construct a OpenSSL Parameters generator - digest the original MD5. + /// </description> + /// + public OpenSslPbeParametersGenerator() : this(new MD5Digest()) + { + } - /** - * Construct a OpenSSL Parameters generator. - */ - public OpenSslPbeParametersGenerator() + /// + /// <description> + /// Construct a OpenSSL Parameters generator - digest as specified. + /// </description> + /// <param name="digest">the digest to use as the PRF.</param> + /// + public OpenSslPbeParametersGenerator(IDigest digest) { + this.digest = digest; } public override void Init(