Lines Matching refs:dsa
23 #include "crypto/dsa.h"
98 static int dsa_key_todata(DSA *dsa, OSSL_PARAM_BLD *bld, OSSL_PARAM params[],
103 if (dsa == NULL)
106 DSA_get0_key(dsa, &pub, &priv);
132 const DSA *dsa = keydata;
135 if (!ossl_prov_is_running() || dsa == NULL)
141 ok = ok && (DSA_get0_pub_key(dsa) != NULL);
143 ok = ok && (DSA_get0_priv_key(dsa) != NULL);
145 ok = ok && (DSA_get0_p(dsa) != NULL && DSA_get0_g(dsa) != NULL);
193 DSA *dsa = keydata;
196 if (!ossl_prov_is_running() || dsa == NULL)
203 ok = ok && ossl_dsa_ffc_params_fromdata(dsa, params);
209 ok = ok && ossl_dsa_key_fromdata(dsa, params, include_private);
218 DSA *dsa = keydata;
223 if (!ossl_prov_is_running() || dsa == NULL)
231 ok = ok && ossl_ffc_params_todata(ossl_dsa_get0_params(dsa), tmpl, NULL);
236 ok = ok && dsa_key_todata(dsa, tmpl, NULL, include_private);
311 DSA *dsa = key;
315 && !OSSL_PARAM_set_int(p, DSA_bits(dsa)))
318 && !OSSL_PARAM_set_int(p, DSA_security_bits(dsa)))
321 && !OSSL_PARAM_set_int(p, DSA_size(dsa)))
326 return ossl_ffc_params_todata(ossl_dsa_get0_params(dsa), NULL, params)
327 && dsa_key_todata(dsa, NULL, params, 1);
346 static int dsa_validate_domparams(const DSA *dsa, int checktype)
350 return ossl_dsa_check_params(dsa, checktype, &status);
353 static int dsa_validate_public(const DSA *dsa)
358 DSA_get0_key(dsa, &pub_key, NULL);
361 return ossl_dsa_check_pub_key(dsa, pub_key, &status);
364 static int dsa_validate_private(const DSA *dsa)
369 DSA_get0_key(dsa, NULL, &priv_key);
372 return ossl_dsa_check_priv_key(dsa, priv_key, &status);
377 const DSA *dsa = keydata;
387 ok = ok && dsa_validate_domparams(dsa, checktype);
390 ok = ok && dsa_validate_public(dsa);
393 ok = ok && dsa_validate_private(dsa);
398 ok = ok && ossl_dsa_check_pairwise(dsa);
435 DSA *dsa = templ;
437 if (!ossl_prov_is_running() || gctx == NULL || dsa == NULL)
439 gctx->ffc_params = ossl_dsa_get0_params(dsa);
553 DSA *dsa = NULL;
560 dsa = ossl_dsa_new(gctx->libctx);
561 if (dsa == NULL)
574 ffc = ossl_dsa_get0_params(dsa);
596 if (ossl_dsa_generate_ffc_parameters(dsa, gctx->gen_type,
608 if (DSA_generate_key(dsa) <= 0)
614 DSA_free(dsa);
615 dsa = NULL;
618 return dsa;
636 DSA *dsa = NULL;
638 if (ossl_prov_is_running() && reference_sz == sizeof(dsa)) {
640 dsa = *(DSA **)reference;
643 return dsa;