diff options
author | Matt Caswell <matt@openssl.org> | 2019-04-19 16:21:10 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2019-04-23 10:48:59 +0100 |
commit | 361ecb1d1a4d6d113a6a9cedcc272d3b09c485bd (patch) | |
tree | 2706bca6963771903ba7cff4af120c422d8afe2e | |
parent | a5cf198bad4c49c2850e16c34d929c28a37afcc3 (diff) |
Fix EVP_CIPHER_CTX_rand_key()
Make sure we use the the correct key length in EVP_CIPHER_CTX_rand_key().
Now that ciphers may come from providers we need to make sure we ask the
provider for the value if appropriate.
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/8794)
-rw-r--r-- | crypto/evp/evp_enc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 4426a81629..c2411f496c 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -947,7 +947,7 @@ int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key) { if (ctx->cipher->flags & EVP_CIPH_RAND_KEY) return EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_RAND_KEY, 0, key); - if (RAND_priv_bytes(key, ctx->key_len) <= 0) + if (RAND_priv_bytes(key, EVP_CIPHER_CTX_key_length(ctx)) <= 0) return 0; return 1; } |