diff options
author | Richard Levitte <levitte@openssl.org> | 2019-06-04 13:43:31 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-10-17 18:49:38 +0200 |
commit | 8c77d45adab101f10b323de3d59fb47b8f8d3a93 (patch) | |
tree | 144e496895262b6909f8de8b2aa4f8392bf4eb96 /crypto | |
parent | evp_keymgmt_export_to_provider(): adjust OSSL_PARAM array for transfer (diff) | |
download | openssl-8c77d45adab101f10b323de3d59fb47b8f8d3a93.tar.xz openssl-8c77d45adab101f10b323de3d59fb47b8f8d3a93.zip |
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 <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9075)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/blake2/build.info | 2 | ||||
-rw-r--r-- | crypto/blake2/m_blake2s.c | 50 | ||||
-rw-r--r-- | crypto/build.info | 2 | ||||
-rw-r--r-- | crypto/evp/build.info | 2 | ||||
-rw-r--r-- | crypto/evp/legacy_blake2.c (renamed from crypto/blake2/m_blake2b.c) | 46 |
5 files changed, 27 insertions, 75 deletions
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_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 <stddef.h> -# include <openssl/obj_mac.h> -# 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/blake2/m_blake2b.c b/crypto/evp/legacy_blake2.c index bb3f145abd..04b1e84865 100644 --- a/crypto/blake2/m_blake2b.c +++ b/crypto/evp/legacy_blake2.c @@ -7,44 +7,48 @@ * https://www.openssl.org/source/license.html */ +#include <openssl/opensslconf.h> + #ifndef OPENSSL_NO_BLAKE2 -# include <stddef.h> # include <openssl/obj_mac.h> # 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)); -} +# include "prov/blake2.h" /* diverse BLAKE2 macros */ static const EVP_MD blake2b_md = { NID_blake2b512, 0, BLAKE2B_DIGEST_LENGTH, 0, - init, - update, - final, + NULL, + NULL, + NULL, NULL, NULL, BLAKE2B_BLOCKBYTES, - sizeof(BLAKE2B_CTX), }; 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 */ |