summaryrefslogtreecommitdiffstats
path: root/crypto/ffc
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2020-04-16 01:14:00 +1000
committerShane Lontis <shane.lontis@oracle.com>2020-04-16 01:14:00 +1000
commit7165593ce5a07a6860d4d408ad640ee707172936 (patch)
tree3c892cf83045856b44bfaaeea2b67a9f0527e853 /crypto/ffc
parentb03ec3b5d62ee26bf8437556b9040d4141d5bdd8 (diff)
Add DH keygen to providers
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11332)
Diffstat (limited to 'crypto/ffc')
-rw-r--r--crypto/ffc/ffc_backend.c13
-rw-r--r--crypto/ffc/ffc_params.c3
2 files changed, 5 insertions, 11 deletions
diff --git a/crypto/ffc/ffc_backend.c b/crypto/ffc/ffc_backend.c
index 1d076184bc..d3661b1706 100644
--- a/crypto/ffc/ffc_backend.c
+++ b/crypto/ffc/ffc_backend.c
@@ -22,25 +22,19 @@ int ffc_params_fromdata(FFC_PARAMS *ffc, const OSSL_PARAM params[])
const OSSL_PARAM *prm;
const OSSL_PARAM *param_p, *param_q, *param_g;
BIGNUM *p = NULL, *q = NULL, *g = NULL, *j = NULL;
-#if 0
- char group_name[OSSL_MAX_NAME_SIZE];
- char *str = group_name;
-#endif
int i;
if (ffc == NULL)
return 0;
-/* TODO(3.0) Add for DH PR */
-#if 0
prm = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_GROUP);
if (prm != NULL) {
- if (!OSSL_PARAM_get_utf8_string(prm, &str, sizeof(group_name)))
+ if (prm->data_type != OSSL_PARAM_UTF8_STRING)
goto err;
- if (!ffc_set_group_pqg(ffc, group_name))
+ if (!ffc_set_group_pqg(ffc, prm->data))
goto err;
}
-#endif
+
param_p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_P);
param_g = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_G);
param_q = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_Q);
@@ -66,6 +60,7 @@ int ffc_params_fromdata(FFC_PARAMS *ffc, const OSSL_PARAM params[])
if (prm != NULL) {
if (!OSSL_PARAM_get_BN(prm, &j))
goto err;
+ j = NULL;
}
prm = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_H);
if (prm != NULL) {
diff --git a/crypto/ffc/ffc_params.c b/crypto/ffc/ffc_params.c
index 5950847703..89550bedec 100644
--- a/crypto/ffc/ffc_params.c
+++ b/crypto/ffc/ffc_params.c
@@ -215,7 +215,7 @@ int ffc_params_todata(const FFC_PARAMS *ffc, OSSL_PARAM_BLD *bld,
ffc->seed, ffc->seedlen))
return 0;
if (ffc->nid != NID_undef) {
- const char *name = ffc_named_group_from_nid(ffc->nid);
+ const char *name = ffc_named_group_from_uid(ffc->nid);
if (name == NULL
|| !ossl_param_build_set_utf8_string(bld, params,
@@ -227,7 +227,6 @@ int ffc_params_todata(const FFC_PARAMS *ffc, OSSL_PARAM_BLD *bld,
}
#ifndef FIPS_MODE
-
int ffc_params_print(BIO *bp, const FFC_PARAMS *ffc, int indent)
{
if (!ASN1_bn_print(bp, "prime P:", ffc->p, NULL, indent))