Add the provider_algs.h internal header file

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8700)
This commit is contained in:
Matt Caswell 2019-04-03 16:39:34 +01:00
parent aab26e6f7b
commit 861b8f8747
6 changed files with 19 additions and 8 deletions

View File

@ -3,7 +3,7 @@
SUBDIRS=crypto ssl apps test util tools fuzz engines providers
LIBS=libcrypto libssl
INCLUDE[libcrypto]=. crypto/include include
INCLUDE[libcrypto]=. crypto/include include providers/common/include
INCLUDE[libssl]=. include
DEPEND[libssl]=libcrypto

View File

@ -7,7 +7,7 @@ IF[{- !$disabled{fips} -}]
SOURCE[fips]=fips.ld
GENERATE[fips.ld]=../util/providers.num
ENDIF
INCLUDE[fips]=.. ../include ../crypto/include
INCLUDE[fips]=.. ../include ../crypto/include common/include
DEFINE[fips]=FIPS_MODE
ENDIF

View File

@ -14,6 +14,7 @@
#include <openssl/evp.h>
#include <openssl/params.h>
#include "internal/cryptlib.h"
#include "internal/provider_algs.h"
#include "ciphers_locl.h"
static void PROV_AES_KEY_generic_init(PROV_AES_KEY *ctx,
@ -195,7 +196,6 @@ static int aes_set_params(void *vctx, const OSSL_PARAM params[])
return 1;
}
extern const OSSL_DISPATCH aes256ecb_functions[];
const OSSL_DISPATCH aes256ecb_functions[] = {
{ OSSL_FUNC_CIPHER_NEWCTX, (void (*)(void))aes_256_ecb_newctx },
{ OSSL_FUNC_CIPHER_ENCRYPT_INIT, (void (*)(void))aes_einit },

View File

@ -10,6 +10,7 @@
#include <openssl/sha.h>
#include <openssl/crypto.h>
#include <openssl/core_numbers.h>
#include "internal/provider_algs.h"
/*
* Forward declaration of everything implemented here. This is not strictly
@ -73,7 +74,6 @@ static size_t sha256_block_size(void)
return SHA256_CBLOCK;
}
extern const OSSL_DISPATCH sha256_functions[];
const OSSL_DISPATCH sha256_functions[] = {
{ OSSL_FUNC_DIGEST_NEWCTX, (void (*)(void))sha256_newctx },
{ OSSL_FUNC_DIGEST_INIT, (void (*)(void))SHA256_Init },

View File

@ -0,0 +1,14 @@
/*
* 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
*/
/* Digests */
extern const OSSL_DISPATCH sha256_functions[];
/* Ciphers */
extern const OSSL_DISPATCH aes256ecb_functions[];

View File

@ -13,6 +13,7 @@
#include <openssl/core_numbers.h>
#include <openssl/core_names.h>
#include <openssl/params.h>
#include "internal/provider_algs.h"
/* Functions provided by the core */
static OSSL_core_get_param_types_fn *c_get_param_types = NULL;
@ -49,15 +50,11 @@ static int deflt_get_params(const OSSL_PROVIDER *prov,
return 1;
}
extern const OSSL_DISPATCH sha256_functions[];
static const OSSL_ALGORITHM deflt_digests[] = {
{ "SHA256", "default=yes", sha256_functions },
{ NULL, NULL, NULL }
};
extern const OSSL_DISPATCH aes256ecb_functions[];
static const OSSL_ALGORITHM deflt_ciphers[] = {
{ "AES-256-ECB", "default=yes", aes256ecb_functions },
{ NULL, NULL, NULL }