From 5d0cf102e038013d6d89ea406562b52f73a67bdd Mon Sep 17 00:00:00 2001 From: Pauli Date: Fri, 1 Nov 2019 21:07:08 +1000 Subject: [PATCH] DRBG: add check for XOF so these can be disallowed by the DRBGs Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/10321) --- crypto/rand/drbg_hash.c | 2 ++ crypto/rand/drbg_hmac.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/crypto/rand/drbg_hash.c b/crypto/rand/drbg_hash.c index 5ff1d117c9..f087d88965 100644 --- a/crypto/rand/drbg_hash.c +++ b/crypto/rand/drbg_hash.c @@ -317,6 +317,8 @@ int drbg_hash_init(RAND_DRBG *drbg) if (md == NULL) return 0; + if ((EVP_MD_flags(md) & EVP_MD_FLAG_XOF) != 0) + return 0; drbg->meth = &drbg_hash_meth; diff --git a/crypto/rand/drbg_hmac.c b/crypto/rand/drbg_hmac.c index 0047d8c094..3bda6c0d05 100644 --- a/crypto/rand/drbg_hmac.c +++ b/crypto/rand/drbg_hmac.c @@ -211,6 +211,9 @@ int drbg_hmac_init(RAND_DRBG *drbg) if (md == NULL) return 0; + if ((EVP_MD_flags(md) & EVP_MD_FLAG_XOF) != 0) + return 0; + drbg->meth = &drbg_hmac_meth; if (hmac->ctx == NULL) { -- 2.25.1