Latest update.
This commit is contained in:
@@ -44,7 +44,7 @@ int DH_check_params_ex(const DH *dh)
|
||||
return errflags == 0;
|
||||
}
|
||||
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
int DH_check_params(const DH *dh, int *ret)
|
||||
{
|
||||
int nid;
|
||||
@@ -102,7 +102,7 @@ int DH_check_params(const DH *dh, int *ret)
|
||||
BN_CTX_free(ctx);
|
||||
return ok;
|
||||
}
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
|
||||
/*-
|
||||
* Check that p is a safe prime and
|
||||
@@ -140,7 +140,7 @@ int DH_check_ex(const DH *dh)
|
||||
/* Note: according to documentation - this only checks the params */
|
||||
int DH_check(const DH *dh, int *ret)
|
||||
{
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
return DH_check_params(dh, ret);
|
||||
#else
|
||||
int ok = 0, r;
|
||||
@@ -210,7 +210,7 @@ int DH_check(const DH *dh, int *ret)
|
||||
BN_CTX_end(ctx);
|
||||
BN_CTX_free(ctx);
|
||||
return ok;
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
}
|
||||
|
||||
int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key)
|
||||
|
||||
+9
-9
@@ -30,10 +30,10 @@
|
||||
#include "crypto/dh.h"
|
||||
#include "dh_local.h"
|
||||
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
static int dh_builtin_genparams(DH *ret, int prime_len, int generator,
|
||||
BN_GENCB *cb);
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
|
||||
int dh_generate_ffc_parameters(DH *dh, int type, int pbits,
|
||||
int qbits, EVP_MD *md, BN_GENCB *cb)
|
||||
@@ -47,7 +47,7 @@ int dh_generate_ffc_parameters(DH *dh, int type, int pbits,
|
||||
qbits = (pbits >= 2048 ? SHA256_DIGEST_LENGTH :
|
||||
SHA_DIGEST_LENGTH) * 8;
|
||||
}
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
if (type == DH_PARAMGEN_TYPE_FIPS_186_2)
|
||||
ret = ffc_params_FIPS186_2_generate(dh->libctx, &dh->params,
|
||||
FFC_PARAM_TYPE_DH,
|
||||
@@ -96,7 +96,7 @@ int dh_get_named_group_uid_from_size(int pbits)
|
||||
return nid;
|
||||
}
|
||||
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
|
||||
static int dh_gen_named_group(OPENSSL_CTX *libctx, DH *ret, int prime_len)
|
||||
{
|
||||
@@ -116,12 +116,12 @@ static int dh_gen_named_group(OPENSSL_CTX *libctx, DH *ret, int prime_len)
|
||||
DH_free(dh);
|
||||
return ok;
|
||||
}
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
|
||||
int DH_generate_parameters_ex(DH *ret, int prime_len, int generator,
|
||||
BN_GENCB *cb)
|
||||
{
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
if (generator != 2)
|
||||
return 0;
|
||||
return dh_gen_named_group(ret->libctx, ret, prime_len);
|
||||
@@ -129,10 +129,10 @@ int DH_generate_parameters_ex(DH *ret, int prime_len, int generator,
|
||||
if (ret->meth->generate_params)
|
||||
return ret->meth->generate_params(ret, prime_len, generator, cb);
|
||||
return dh_builtin_genparams(ret, prime_len, generator, cb);
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
}
|
||||
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
/*-
|
||||
* We generate DH parameters as follows
|
||||
* find a prime p which is prime_len bits long,
|
||||
@@ -238,4 +238,4 @@ static int dh_builtin_genparams(DH *ret, int prime_len, int generator,
|
||||
BN_CTX_free(ctx);
|
||||
return ok;
|
||||
}
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
@@ -59,7 +59,7 @@ static const DH_NAMED_GROUP dh_named_groups[] = {
|
||||
FFDHE(4096),
|
||||
FFDHE(6144),
|
||||
FFDHE(8192),
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
MODP(1536),
|
||||
#endif
|
||||
MODP(2048),
|
||||
@@ -71,7 +71,7 @@ static const DH_NAMED_GROUP dh_named_groups[] = {
|
||||
* Additional dh named groups from RFC 5114 that have a different g.
|
||||
* The uid can be any unique identifier.
|
||||
*/
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
RFC5114("dh_1024_160", 1, 1024, 1024_160),
|
||||
RFC5114("dh_2048_224", 2, 2048, 2048_224),
|
||||
RFC5114("dh_2048_256", 3, 2048, 2048_256),
|
||||
|
||||
+10
-10
@@ -20,7 +20,7 @@
|
||||
#include "crypto/dh.h"
|
||||
#include "crypto/security_bits.h"
|
||||
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
# define MIN_STRENGTH 112
|
||||
#else
|
||||
# define MIN_STRENGTH 80
|
||||
@@ -39,7 +39,7 @@ static int compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
|
||||
BN_MONT_CTX *mont = NULL;
|
||||
BIGNUM *tmp;
|
||||
int ret = -1;
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
int check_result;
|
||||
#endif
|
||||
|
||||
@@ -74,7 +74,7 @@ static int compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
|
||||
goto err;
|
||||
}
|
||||
/* TODO(3.0) : Solve in a PR related to Key validation for DH */
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
if (!DH_check_pub_key(dh, pub_key, &check_result) || check_result) {
|
||||
DHerr(0, DH_R_INVALID_PUBKEY);
|
||||
goto err;
|
||||
@@ -95,7 +95,7 @@ static int compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
|
||||
|
||||
int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
|
||||
{
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
return compute_key(key, pub_key, dh);
|
||||
#else
|
||||
return dh->meth->compute_key(key, pub_key, dh);
|
||||
@@ -106,7 +106,7 @@ int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh)
|
||||
{
|
||||
int rv, pad;
|
||||
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
rv = compute_key(key, pub_key, dh);
|
||||
#else
|
||||
rv = dh->meth->compute_key(key, pub_key, dh);
|
||||
@@ -166,16 +166,16 @@ static int dh_finish(DH *dh)
|
||||
return 1;
|
||||
}
|
||||
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
void DH_set_default_method(const DH_METHOD *meth)
|
||||
{
|
||||
default_DH_method = meth;
|
||||
}
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
|
||||
int DH_generate_key(DH *dh)
|
||||
{
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
return generate_key(dh);
|
||||
#else
|
||||
return dh->meth->generate_key(dh);
|
||||
@@ -214,7 +214,7 @@ static int generate_key(DH *dh)
|
||||
{
|
||||
int ok = 0;
|
||||
int generate_new_key = 0;
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
unsigned l;
|
||||
#endif
|
||||
BN_CTX *ctx = NULL;
|
||||
@@ -264,7 +264,7 @@ static int generate_key(DH *dh)
|
||||
max_strength, priv_key))
|
||||
goto err;
|
||||
} else {
|
||||
#ifdef FIPS_MODE
|
||||
#ifdef FIPS_MODULE
|
||||
if (dh->params.q == NULL)
|
||||
goto err;
|
||||
#else
|
||||
|
||||
+15
-15
@@ -26,7 +26,7 @@
|
||||
|
||||
static DH *dh_new_intern(ENGINE *engine, OPENSSL_CTX *libctx);
|
||||
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
int DH_set_method(DH *dh, const DH_METHOD *meth)
|
||||
{
|
||||
/*
|
||||
@@ -61,7 +61,7 @@ DH *DH_new_method(ENGINE *engine)
|
||||
{
|
||||
return dh_new_intern(engine, NULL);
|
||||
}
|
||||
#endif /* !FIPS_MODE */
|
||||
#endif /* !FIPS_MODULE */
|
||||
|
||||
DH *dh_new_with_libctx(OPENSSL_CTX *libctx)
|
||||
{
|
||||
@@ -87,7 +87,7 @@ static DH *dh_new_intern(ENGINE *engine, OPENSSL_CTX *libctx)
|
||||
|
||||
ret->libctx = libctx;
|
||||
ret->meth = DH_get_default_method();
|
||||
#if !defined(FIPS_MODE) && !defined(OPENSSL_NO_ENGINE)
|
||||
#if !defined(FIPS_MODULE) && !defined(OPENSSL_NO_ENGINE)
|
||||
ret->flags = ret->meth->flags; /* early default init */
|
||||
if (engine) {
|
||||
if (!ENGINE_init(engine)) {
|
||||
@@ -108,10 +108,10 @@ static DH *dh_new_intern(ENGINE *engine, OPENSSL_CTX *libctx)
|
||||
|
||||
ret->flags = ret->meth->flags;
|
||||
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_DH, ret, &ret->ex_data))
|
||||
goto err;
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
|
||||
if ((ret->meth->init != NULL) && !ret->meth->init(ret)) {
|
||||
DHerr(0, ERR_R_INIT_FAIL);
|
||||
@@ -140,7 +140,7 @@ void DH_free(DH *r)
|
||||
|
||||
if (r->meth != NULL && r->meth->finish != NULL)
|
||||
r->meth->finish(r);
|
||||
#if !defined(FIPS_MODE)
|
||||
#if !defined(FIPS_MODULE)
|
||||
# if !defined(OPENSSL_NO_ENGINE)
|
||||
ENGINE_finish(r->engine);
|
||||
# endif
|
||||
@@ -167,7 +167,7 @@ int DH_up_ref(DH *r)
|
||||
return ((i > 1) ? 1 : 0);
|
||||
}
|
||||
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
int DH_set_ex_data(DH *d, int idx, void *arg)
|
||||
{
|
||||
return CRYPTO_set_ex_data(&d->ex_data, idx, arg);
|
||||
@@ -310,12 +310,12 @@ void DH_set_flags(DH *dh, int flags)
|
||||
dh->flags |= flags;
|
||||
}
|
||||
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
ENGINE *DH_get0_engine(DH *dh)
|
||||
{
|
||||
return dh->engine;
|
||||
}
|
||||
#endif /*FIPS_MODE */
|
||||
#endif /*FIPS_MODULE */
|
||||
|
||||
FFC_PARAMS *dh_get0_params(DH *dh)
|
||||
{
|
||||
@@ -400,7 +400,7 @@ int EVP_PKEY_CTX_set_dh_paramgen_type(EVP_PKEY_CTX *ctx, int typ)
|
||||
if ((ret = dh_paramgen_check(ctx)) <= 0)
|
||||
return ret;
|
||||
|
||||
#if !defined(FIPS_MODE)
|
||||
#if !defined(FIPS_MODULE)
|
||||
/* TODO(3.0): Remove this eventually when no more legacy */
|
||||
if (ctx->op.keymgmt.genctx == NULL)
|
||||
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN,
|
||||
@@ -426,7 +426,7 @@ int EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX *ctx, int pbits)
|
||||
if ((ret = dh_paramgen_check(ctx)) <= 0)
|
||||
return ret;
|
||||
|
||||
#if !defined(FIPS_MODE)
|
||||
#if !defined(FIPS_MODULE)
|
||||
/* TODO(3.0): Remove this eventually when no more legacy */
|
||||
if (ctx->op.keymgmt.genctx == NULL)
|
||||
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN,
|
||||
@@ -447,7 +447,7 @@ int EVP_PKEY_CTX_set_dh_paramgen_subprime_len(EVP_PKEY_CTX *ctx, int qbits)
|
||||
if ((ret = dh_paramgen_check(ctx)) <= 0)
|
||||
return ret;
|
||||
|
||||
#if !defined(FIPS_MODE)
|
||||
#if !defined(FIPS_MODULE)
|
||||
/* TODO(3.0): Remove this eventually when no more legacy */
|
||||
if (ctx->op.keymgmt.genctx == NULL)
|
||||
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN,
|
||||
@@ -468,7 +468,7 @@ int EVP_PKEY_CTX_set_dh_paramgen_generator(EVP_PKEY_CTX *ctx, int gen)
|
||||
if ((ret = dh_paramgen_check(ctx)) <= 0)
|
||||
return ret;
|
||||
|
||||
#if !defined(FIPS_MODE)
|
||||
#if !defined(FIPS_MODULE)
|
||||
/* TODO(3.0): Remove this eventually when no more legacy */
|
||||
if (ctx->op.keymgmt.genctx == NULL)
|
||||
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN,
|
||||
@@ -490,7 +490,7 @@ int EVP_PKEY_CTX_set_dh_rfc5114(EVP_PKEY_CTX *ctx, int gen)
|
||||
if ((ret = dh_paramgen_check(ctx)) <= 0)
|
||||
return ret;
|
||||
|
||||
#if !defined(FIPS_MODE)
|
||||
#if !defined(FIPS_MODULE)
|
||||
/* TODO(3.0): Remove this eventually when no more legacy */
|
||||
if (ctx->op.keymgmt.genctx == NULL)
|
||||
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN,
|
||||
@@ -520,7 +520,7 @@ int EVP_PKEY_CTX_set_dh_nid(EVP_PKEY_CTX *ctx, int nid)
|
||||
if ((ret = dh_paramgen_check(ctx)) <= 0)
|
||||
return ret;
|
||||
|
||||
#if !defined(FIPS_MODE)
|
||||
#if !defined(FIPS_MODULE)
|
||||
/* TODO(3.0): Remove this eventually when no more legacy */
|
||||
if (ctx->op.keymgmt.genctx == NULL)
|
||||
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH,
|
||||
|
||||
@@ -28,7 +28,7 @@ struct dh_st {
|
||||
int flags;
|
||||
BN_MONT_CTX *method_mont_p;
|
||||
CRYPTO_REF_COUNT references;
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
CRYPTO_EX_DATA ex_data;
|
||||
ENGINE *engine;
|
||||
#endif
|
||||
|
||||
@@ -306,7 +306,7 @@ static DH *ffc_params_generate(OPENSSL_CTX *libctx, DH_PKEY_CTX *dctx,
|
||||
else
|
||||
md = EVP_sha1();
|
||||
}
|
||||
# ifndef FIPS_MODE
|
||||
# ifndef FIPS_MODULE
|
||||
if (dctx->paramgen_type == DH_PARAMGEN_TYPE_FIPS_186_2)
|
||||
rv = ffc_params_FIPS186_2_generate(libctx, &ret->params,
|
||||
FFC_PARAM_TYPE_DH,
|
||||
@@ -346,7 +346,7 @@ static int pkey_dh_paramgen(EVP_PKEY_CTX *ctx,
|
||||
return 1;
|
||||
}
|
||||
|
||||
#ifndef FIPS_MODE
|
||||
#ifndef FIPS_MODULE
|
||||
if (dctx->rfc5114_param) {
|
||||
switch (dctx->rfc5114_param) {
|
||||
case 1:
|
||||
@@ -367,7 +367,7 @@ static int pkey_dh_paramgen(EVP_PKEY_CTX *ctx,
|
||||
EVP_PKEY_assign(pkey, EVP_PKEY_DHX, dh);
|
||||
return 1;
|
||||
}
|
||||
#endif /* FIPS_MODE */
|
||||
#endif /* FIPS_MODULE */
|
||||
|
||||
if (ctx->pkey_gencb != NULL) {
|
||||
pcb = BN_GENCB_new();
|
||||
@@ -375,9 +375,9 @@ static int pkey_dh_paramgen(EVP_PKEY_CTX *ctx,
|
||||
return 0;
|
||||
evp_pkey_set_cb_translate(pcb, ctx);
|
||||
}
|
||||
# ifdef FIPS_MODE
|
||||
# ifdef FIPS_MODULE
|
||||
dctx->paramgen_type = DH_PARAMGEN_TYPE_FIPS_186_4;
|
||||
# endif /* FIPS_MODE */
|
||||
# endif /* FIPS_MODULE */
|
||||
if (dctx->paramgen_type >= DH_PARAMGEN_TYPE_FIPS_186_2) {
|
||||
dh = ffc_params_generate(NULL, dctx, pcb);
|
||||
BN_GENCB_free(pcb);
|
||||
|
||||
Reference in New Issue
Block a user