diff options
author | Shane Lontis <shane.lontis@oracle.com> | 2020-04-16 01:14:00 +1000 |
---|---|---|
committer | Shane Lontis <shane.lontis@oracle.com> | 2020-04-16 01:14:00 +1000 |
commit | 7165593ce5a07a6860d4d408ad640ee707172936 (patch) | |
tree | 3c892cf83045856b44bfaaeea2b67a9f0527e853 /crypto/ffc | |
parent | b03ec3b5d62ee26bf8437556b9040d4141d5bdd8 (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.c | 13 | ||||
-rw-r--r-- | crypto/ffc/ffc_params.c | 3 |
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)) |