summaryrefslogtreecommitdiffstats
path: root/crypto/evp/legacy_blake2.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-06-04 13:43:31 +0200
committerRichard Levitte <levitte@openssl.org>2019-10-17 18:49:38 +0200
commit8c77d45adab101f10b323de3d59fb47b8f8d3a93 (patch)
tree144e496895262b6909f8de8b2aa4f8392bf4eb96 /crypto/evp/legacy_blake2.c
parent651101e18d66b2ae89851ce8906299e9d2a871e0 (diff)
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/evp/legacy_blake2.c')
-rw-r--r--crypto/evp/legacy_blake2.c54
1 files changed, 54 insertions, 0 deletions
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 <openssl/opensslconf.h>
+
+#ifndef OPENSSL_NO_BLAKE2
+
+# include <openssl/obj_mac.h>
+# 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 */