From: Richard Levitte Date: Tue, 4 Jun 2019 11:43:31 +0000 (+0200) Subject: Move BLAKE2 digests completely to the default provider X-Git-Tag: openssl-3.0.0-alpha1~1111 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8c77d45adab101f10b323de3d59fb47b8f8d3a93;p=oweals%2Fopenssl.git Move BLAKE2 digests completely to the default provider This leaves minimal implementations of EVP_blake2b512 and EVP_blake2s256, that are now only there to provide a name for implicit fetches. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/9075) --- diff --git a/crypto/blake2/build.info b/crypto/blake2/build.info deleted file mode 100644 index 8b5ebcec9c..0000000000 --- a/crypto/blake2/build.info +++ /dev/null @@ -1,2 +0,0 @@ -LIBS=../../libcrypto -SOURCE[../../libcrypto]=m_blake2b.c m_blake2s.c diff --git a/crypto/blake2/m_blake2b.c b/crypto/blake2/m_blake2b.c deleted file mode 100644 index bb3f145abd..0000000000 --- a/crypto/blake2/m_blake2b.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the Apache License 2.0 (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef OPENSSL_NO_BLAKE2 - -# include -# include -# include "crypto/evp.h" -# include "prov/blake2.h" - -static int init(EVP_MD_CTX *ctx) -{ - return blake2b512_init(EVP_MD_CTX_md_data(ctx)); -} - -static int update(EVP_MD_CTX *ctx, const void *data, size_t count) -{ - return blake2b_update(EVP_MD_CTX_md_data(ctx), data, count); -} - -static int final(EVP_MD_CTX *ctx, unsigned char *md) -{ - return blake2b_final(md, EVP_MD_CTX_md_data(ctx)); -} - -static const EVP_MD blake2b_md = { - NID_blake2b512, - 0, - BLAKE2B_DIGEST_LENGTH, - 0, - init, - update, - final, - NULL, - NULL, - BLAKE2B_BLOCKBYTES, - sizeof(BLAKE2B_CTX), -}; - -const EVP_MD *EVP_blake2b512(void) -{ - return &blake2b_md; -} -#endif /* OPENSSL_NO_BLAKE2 */ diff --git a/crypto/blake2/m_blake2s.c b/crypto/blake2/m_blake2s.c deleted file mode 100644 index b04d63ec38..0000000000 --- a/crypto/blake2/m_blake2s.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the Apache License 2.0 (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef OPENSSL_NO_BLAKE2 - -# include -# include -# include "crypto/evp.h" -# include "prov/blake2.h" - -static int init(EVP_MD_CTX *ctx) -{ - return blake2s256_init(EVP_MD_CTX_md_data(ctx)); -} - -static int update(EVP_MD_CTX *ctx, const void *data, size_t count) -{ - return blake2s_update(EVP_MD_CTX_md_data(ctx), data, count); -} - -static int final(EVP_MD_CTX *ctx, unsigned char *md) -{ - return blake2s_final(md, EVP_MD_CTX_md_data(ctx)); -} - -static const EVP_MD blake2s_md = { - NID_blake2s256, - 0, - BLAKE2S_DIGEST_LENGTH, - 0, - init, - update, - final, - NULL, - NULL, - BLAKE2S_BLOCKBYTES, - sizeof(BLAKE2S_CTX), -}; - -const EVP_MD *EVP_blake2s256(void) -{ - return &blake2s_md; -} -#endif /* OPENSSL_NO_BLAKE2 */ diff --git a/crypto/build.info b/crypto/build.info index 7d3eb29570..733aba8662 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -2,7 +2,7 @@ # there for further explanations. SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 conf \ txt_db pkcs7 pkcs12 ui store property \ - md2 md4 md5 sha mdc2 hmac ripemd whrlpool poly1305 blake2 \ + md2 md4 md5 sha mdc2 hmac ripemd whrlpool poly1305 \ siphash sm3 des aes rc2 rc4 rc5 idea aria bf cast camellia \ seed sm4 chacha modes bn ec rsa dsa dh sm2 dso engine \ err comp ocsp cms ts srp cmac ct async ess crmf cmp diff --git a/crypto/evp/build.info b/crypto/evp/build.info index f2c798b703..f16d08e0cb 100644 --- a/crypto/evp/build.info +++ b/crypto/evp/build.info @@ -17,7 +17,7 @@ SOURCE[../../libcrypto]=$COMMON\ e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c \ e_chacha20_poly1305.c \ pkey_mac.c exchange.c \ - legacy_sha.c legacy_md5_sha1.c + legacy_sha.c legacy_md5_sha1.c legacy_blake2.c IF[{- !$disabled{md2} -}] SOURCE[../../libcrypto]=legacy_md2.c diff --git a/crypto/evp/legacy_blake2.c b/crypto/evp/legacy_blake2.c new file mode 100644 index 0000000000..04b1e84865 --- /dev/null +++ b/crypto/evp/legacy_blake2.c @@ -0,0 +1,54 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#ifndef OPENSSL_NO_BLAKE2 + +# include +# include "crypto/evp.h" +# include "prov/blake2.h" /* diverse BLAKE2 macros */ + +static const EVP_MD blake2b_md = { + NID_blake2b512, + 0, + BLAKE2B_DIGEST_LENGTH, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + BLAKE2B_BLOCKBYTES, +}; + +const EVP_MD *EVP_blake2b512(void) +{ + return &blake2b_md; +} + +static const EVP_MD blake2s_md = { + NID_blake2s256, + 0, + BLAKE2S_DIGEST_LENGTH, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + BLAKE2S_BLOCKBYTES, +}; + +const EVP_MD *EVP_blake2s256(void) +{ + return &blake2s_md; +} + +#endif /* OPENSSL_NO_BLAKE2 */