Lines Matching refs:dh
24 #include "crypto/dh.h"
100 DH *dh = NULL;
103 dh = ossl_dh_new_ex(PROV_LIBCTX_OF(provctx));
104 if (dh != NULL) {
105 DH_clear_flags(dh, DH_FLAG_TYPE_MASK);
106 DH_set_flags(dh, DH_FLAG_TYPE_DH);
109 return dh;
114 DH *dh = NULL;
116 dh = ossl_dh_new_ex(PROV_LIBCTX_OF(provctx));
117 if (dh != NULL) {
118 DH_clear_flags(dh, DH_FLAG_TYPE_MASK);
119 DH_set_flags(dh, DH_FLAG_TYPE_DHX);
121 return dh;
131 const DH *dh = keydata;
134 if (!ossl_prov_is_running() || dh == NULL)
140 ok = ok && (DH_get0_pub_key(dh) != NULL);
142 ok = ok && (DH_get0_priv_key(dh) != NULL);
144 ok = ok && (DH_get0_p(dh) != NULL && DH_get0_g(dh) != NULL);
192 DH *dh = keydata;
195 if (!ossl_prov_is_running() || dh == NULL)
202 ok = ok && ossl_dh_params_fromdata(dh, params);
208 ok = ok && ossl_dh_key_fromdata(dh, params, include_private);
217 DH *dh = keydata;
222 if (!ossl_prov_is_running() || dh == NULL)
230 ok = ok && ossl_dh_params_todata(dh, tmpl, NULL);
236 ok = ok && ossl_dh_key_todata(dh, tmpl, NULL, include_private);
313 DH *dh = key;
317 && !OSSL_PARAM_set_int(p, DH_bits(dh)))
320 && !OSSL_PARAM_set_int(p, DH_security_bits(dh)))
323 && !OSSL_PARAM_set_int(p, DH_size(dh)))
328 p->return_size = ossl_dh_key2buf(dh, (unsigned char **)&p->data,
334 return ossl_dh_params_todata(dh, NULL, params)
335 && ossl_dh_key_todata(dh, NULL, params, 1);
366 DH *dh = key;
372 || !ossl_dh_buf2key(dh, p->data, p->data_size)))
378 static int dh_validate_public(const DH *dh, int checktype)
383 DH_get0_key(dh, &pub_key, NULL);
389 && ossl_dh_is_named_safe_prime_group(dh))
390 return ossl_dh_check_pub_key_partial(dh, pub_key, &res);
392 return DH_check_pub_key(dh, pub_key, &res);
395 static int dh_validate_private(const DH *dh)
400 DH_get0_key(dh, NULL, &priv_key);
403 return ossl_dh_check_priv_key(dh, priv_key, &status);;
408 const DH *dh = keydata;
424 ok = ok && DH_check_params_ex(dh);
426 ok = ok && DH_check_ex(dh);
430 ok = ok && dh_validate_public(dh, checktype);
433 ok = ok && dh_validate_private(dh);
437 ok = ok && ossl_dh_check_pairwise(dh);
497 DH *dh = templ;
499 if (!ossl_prov_is_running() || gctx == NULL || dh == NULL)
501 gctx->ffc_params = ossl_dh_get0_params(dh);
691 DH *dh = NULL;
714 dh = ossl_dh_new_by_nid_ex(gctx->libctx, gctx->group_nid);
715 if (dh == NULL)
717 ffc = ossl_dh_get0_params(dh);
719 dh = ossl_dh_new_ex(gctx->libctx);
720 if (dh == NULL)
722 ffc = ossl_dh_get0_params(dh);
755 ret = DH_generate_parameters_ex(dh, gctx->pbits,
758 ret = ossl_dh_generate_ffc_parameters(dh, gctx->gen_type,
770 DH_set_length(dh, (long)gctx->priv_len);
773 if (DH_generate_key(dh) <= 0)
776 DH_clear_flags(dh, DH_FLAG_TYPE_MASK);
777 DH_set_flags(dh, gctx->dh_type);
782 DH_free(dh);
783 dh = NULL;
786 return dh;
804 DH *dh = NULL;
806 if (ossl_prov_is_running() && reference_sz == sizeof(dh)) {
808 dh = *(DH **)reference;
811 return dh;