Lines Matching refs:dsa
1 /* crypto/dsa/dsa_key.c */
63 # include <openssl/dsa.h>
79 static int dsa_builtin_keygen(DSA *dsa);
81 static int fips_check_dsa(DSA *dsa)
86 pk.pkey.dsa = dsa;
96 int DSA_generate_key(DSA *dsa)
98 if (dsa->meth->dsa_keygen)
99 return dsa->meth->dsa_keygen(dsa);
100 return dsa_builtin_keygen(dsa);
103 static int dsa_builtin_keygen(DSA *dsa)
110 && (BN_num_bits(dsa->p) < OPENSSL_DSA_FIPS_MIN_MODULUS_BITS)) {
118 if (dsa->priv_key == NULL) {
122 priv_key = dsa->priv_key;
125 if (!BN_rand_range(priv_key, dsa->q))
129 if (dsa->pub_key == NULL) {
133 pub_key = dsa->pub_key;
139 if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0) {
146 if (!BN_mod_exp(pub_key, dsa->g, prk, dsa->p, ctx))
150 dsa->priv_key = priv_key;
151 dsa->pub_key = pub_key;
153 BN_add_word(dsa->pub_key, 1);
154 if (!fips_check_dsa(dsa))
159 if ((pub_key != NULL) && (dsa->pub_key == NULL))
161 if ((priv_key != NULL) && (dsa->priv_key == NULL))