Commit ed9b0e5c authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Redirect DH key and parameter generation.

parent 752c1a0c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -247,6 +247,7 @@ void ERR_load_DH_strings(void);
#define DH_F_DH_BUILTIN_GENPARAMS			 106
#define DH_F_DH_COMPUTE_KEY				 114
#define DH_F_DH_GENERATE_KEY				 115
#define DH_F_DH_GENERATE_PARAMETERS_EX			 116
#define DH_F_DH_NEW_METHOD				 105
#define DH_F_DH_PARAM_DECODE				 107
#define DH_F_DH_PRIV_DECODE				 110
+1 −0
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ static ERR_STRING_DATA DH_str_functs[]=
{ERR_FUNC(DH_F_DH_BUILTIN_GENPARAMS),	"DH_BUILTIN_GENPARAMS"},
{ERR_FUNC(DH_F_DH_COMPUTE_KEY),	"DH_compute_key"},
{ERR_FUNC(DH_F_DH_GENERATE_KEY),	"DH_generate_key"},
{ERR_FUNC(DH_F_DH_GENERATE_PARAMETERS_EX),	"DH_generate_parameters_ex"},
{ERR_FUNC(DH_F_DH_NEW_METHOD),	"DH_new_method"},
{ERR_FUNC(DH_F_DH_PARAM_DECODE),	"DH_PARAM_DECODE"},
{ERR_FUNC(DH_F_DH_PRIV_DECODE),	"DH_PRIV_DECODE"},
+17 −0
Original line number Diff line number Diff line
@@ -66,12 +66,29 @@
#include <openssl/bn.h>
#include <openssl/dh.h>

#ifdef OPENSSL_FIPS
#include <openssl/fips.h>
#endif

static int dh_builtin_genparams(DH *ret, int prime_len, int generator, BN_GENCB *cb);

int DH_generate_parameters_ex(DH *ret, int prime_len, int generator, BN_GENCB *cb)
	{
#ifdef OPENSSL_FIPS
	if (FIPS_mode() && !(ret->meth->flags & DH_FLAG_FIPS_METHOD)
			&& !(ret->flags & DH_FLAG_NON_FIPS_ALLOW))
		{
		DHerr(DH_F_DH_GENERATE_PARAMETERS_EX, DH_R_NON_FIPS_METHOD);
		return 0;
		}
#endif
	if(ret->meth->generate_params)
		return ret->meth->generate_params(ret, prime_len, generator, cb);
#ifdef OPENSSL_FIPS
	if (FIPS_mode())
		return FIPS_dh_generate_parameters_ex(ret, prime_len,
							generator, cb);
#endif
	return dh_builtin_genparams(ret, prime_len, generator, cb);
	}

+1 −0
Original line number Diff line number Diff line
@@ -287,6 +287,7 @@ void ERR_load_DSA_strings(void);
#define DSA_F_DSAPARAMS_PRINT_FP			 101
#define DSA_F_DSA_DO_SIGN				 112
#define DSA_F_DSA_DO_VERIFY				 113
#define DSA_F_DSA_GENERATE_KEY				 124
#define DSA_F_DSA_GENERATE_PARAMETERS_EX		 123
#define DSA_F_DSA_NEW_METHOD				 103
#define DSA_F_DSA_PARAM_DECODE				 119
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ static ERR_STRING_DATA DSA_str_functs[]=
{ERR_FUNC(DSA_F_DSAPARAMS_PRINT_FP),	"DSAparams_print_fp"},
{ERR_FUNC(DSA_F_DSA_DO_SIGN),	"DSA_do_sign"},
{ERR_FUNC(DSA_F_DSA_DO_VERIFY),	"DSA_do_verify"},
{ERR_FUNC(DSA_F_DSA_GENERATE_KEY),	"DSA_generate_key"},
{ERR_FUNC(DSA_F_DSA_GENERATE_PARAMETERS_EX),	"DSA_generate_parameters_ex"},
{ERR_FUNC(DSA_F_DSA_NEW_METHOD),	"DSA_new_method"},
{ERR_FUNC(DSA_F_DSA_PARAM_DECODE),	"DSA_PARAM_DECODE"},
Loading