Lines Matching refs:dsa
71 static int dsa_builtin_keygen(DSA *dsa);
73 int DSA_generate_key(DSA *dsa) in DSA_generate_key() argument
76 if (FIPS_mode() && !(dsa->meth->flags & DSA_FLAG_FIPS_METHOD) in DSA_generate_key()
77 && !(dsa->flags & DSA_FLAG_NON_FIPS_ALLOW)) in DSA_generate_key()
83 if(dsa->meth->dsa_keygen) in DSA_generate_key()
84 return dsa->meth->dsa_keygen(dsa); in DSA_generate_key()
87 return FIPS_dsa_generate_key(dsa); in DSA_generate_key()
89 return dsa_builtin_keygen(dsa); in DSA_generate_key()
92 static int dsa_builtin_keygen(DSA *dsa) in dsa_builtin_keygen() argument
100 if (dsa->priv_key == NULL) in dsa_builtin_keygen()
105 priv_key=dsa->priv_key; in dsa_builtin_keygen()
108 if (!BN_rand_range(priv_key,dsa->q)) goto err; in dsa_builtin_keygen()
111 if (dsa->pub_key == NULL) in dsa_builtin_keygen()
116 pub_key=dsa->pub_key; in dsa_builtin_keygen()
122 if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0) in dsa_builtin_keygen()
131 if (!BN_mod_exp(pub_key,dsa->g,prk,dsa->p,ctx)) goto err; in dsa_builtin_keygen()
134 dsa->priv_key=priv_key; in dsa_builtin_keygen()
135 dsa->pub_key=pub_key; in dsa_builtin_keygen()
139 if ((pub_key != NULL) && (dsa->pub_key == NULL)) BN_free(pub_key); in dsa_builtin_keygen()
140 if ((priv_key != NULL) && (dsa->priv_key == NULL)) BN_free(priv_key); in dsa_builtin_keygen()