Commit d5e5e2ff authored by Shane Lontis's avatar Shane Lontis
Browse files

Move digests to providers



Move digest code into the relevant providers (fips, default, legacy).
The headers are temporarily moved to be internal, and will be moved
into providers after all external references are resolved. The deprecated
digest code can not be removed until EVP_PKEY (signing) is supported by
providers. EVP_MD data can also not yet be cleaned up for the same reasons.

Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8763)
parent bf5b04ea
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@
#ifndef OPENSSL_NO_BLAKE2

# include <openssl/evp.h>
# include "blake2_locl.h"
# include "internal/blake2.h"
# include "internal/cryptlib.h"
# include "internal/evp_int.h"

@@ -26,7 +26,7 @@ static EVP_MAC_IMPL *blake2b_mac_new(void)
    EVP_MAC_IMPL *macctx = OPENSSL_zalloc(sizeof(*macctx));
    if (macctx != NULL) {
        blake2b_param_init(&macctx->params);
        /* ctx initialization is deferred to BLAKE2b_Init() */
        /* ctx initialization is deferred to blake2b_init() */
    }
    return macctx;
}
@@ -53,18 +53,18 @@ static int blake2b_mac_init(EVP_MAC_IMPL *macctx)
        return 0;
    }

    return BLAKE2b_Init_key(&macctx->ctx, &macctx->params, macctx->key);
    return blake2b_init_key(&macctx->ctx, &macctx->params, macctx->key);
}

static int blake2b_mac_update(EVP_MAC_IMPL *macctx, const unsigned char *data,
                              size_t datalen)
{
    return BLAKE2b_Update(&macctx->ctx, data, datalen);
    return blake2b_update(&macctx->ctx, data, datalen);
}

static int blake2b_mac_final(EVP_MAC_IMPL *macctx, unsigned char *out)
{
    return BLAKE2b_Final(out, &macctx->ctx);
    return blake2b_final(out, &macctx->ctx);
}

/*
+4 −4
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@
#ifndef OPENSSL_NO_BLAKE2

# include <openssl/evp.h>
# include "blake2_locl.h"
# include "internal/blake2.h"
# include "internal/cryptlib.h"
# include "internal/evp_int.h"

@@ -53,18 +53,18 @@ static int blake2s_mac_init(EVP_MAC_IMPL *macctx)
        return 0;
    }

    return BLAKE2s_Init_key(&macctx->ctx, &macctx->params, macctx->key);
    return blake2s_init_key(&macctx->ctx, &macctx->params, macctx->key);
}

static int blake2s_mac_update(EVP_MAC_IMPL *macctx, const unsigned char *data,
                              size_t datalen)
{
    return BLAKE2s_Update(&macctx->ctx, data, datalen);
    return blake2s_update(&macctx->ctx, data, datalen);
}

static int blake2s_mac_final(EVP_MAC_IMPL *macctx, unsigned char *out)
{
    return BLAKE2s_Final(out, &macctx->ctx);
    return blake2s_final(out, &macctx->ctx);
}

/*
+1 −1
Original line number Diff line number Diff line
LIBS=../../libcrypto
SOURCE[../../libcrypto]=\
        blake2b.c blake2s.c blake2b_mac.c blake2s_mac.c m_blake2b.c m_blake2s.c
        blake2b_mac.c blake2s_mac.c m_blake2b.c m_blake2s.c
+8 −19
Original line number Diff line number Diff line
/*
 * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
 * 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
@@ -7,37 +7,26 @@
 * https://www.openssl.org/source/license.html
 */

/*
 * Derived from the BLAKE2 reference implementation written by Samuel Neves.
 * Copyright 2012, Samuel Neves <sneves@dei.uc.pt>
 * More information about the BLAKE2 hash function and its implementations
 * can be found at https://blake2.net.
 */

#include "internal/cryptlib.h"

#ifndef OPENSSL_NO_BLAKE2

# include <openssl/evp.h>
# include <openssl/objects.h>
# include "blake2_locl.h"
# include <stddef.h>
# include <openssl/obj_mac.h>
# include "internal/evp_int.h"
# include "internal/blake2.h"

static int init(EVP_MD_CTX *ctx)
{
    BLAKE2B_PARAM P;
    blake2b_param_init(&P);
    return BLAKE2b_Init(EVP_MD_CTX_md_data(ctx), &P);
    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);
    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));
    return blake2b_final(md, EVP_MD_CTX_md_data(ctx));
}

static const EVP_MD blake2b_md = {
@@ -58,4 +47,4 @@ const EVP_MD *EVP_blake2b512(void)
{
    return &blake2b_md;
}
#endif
#endif /* OPENSSL_NO_BLAKE2 */
+8 −19
Original line number Diff line number Diff line
/*
 * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
 * 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
@@ -7,37 +7,26 @@
 * https://www.openssl.org/source/license.html
 */

/*
 * Derived from the BLAKE2 reference implementation written by Samuel Neves.
 * Copyright 2012, Samuel Neves <sneves@dei.uc.pt>
 * More information about the BLAKE2 hash function and its implementations
 * can be found at https://blake2.net.
 */

#include "internal/cryptlib.h"

#ifndef OPENSSL_NO_BLAKE2

# include <openssl/evp.h>
# include <openssl/objects.h>
# include "blake2_locl.h"
# include <stddef.h>
# include <openssl/obj_mac.h>
# include "internal/evp_int.h"
# include "internal/blake2.h"

static int init(EVP_MD_CTX *ctx)
{
    BLAKE2S_PARAM P;
    blake2s_param_init(&P);
    return BLAKE2s_Init(EVP_MD_CTX_md_data(ctx), &P);
    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);
    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));
    return blake2s_final(md, EVP_MD_CTX_md_data(ctx));
}

static const EVP_MD blake2s_md = {
@@ -58,4 +47,4 @@ const EVP_MD *EVP_blake2s256(void)
{
    return &blake2s_md;
}
#endif
#endif /* OPENSSL_NO_BLAKE2 */
Loading