Lines Matching refs:dsa
67 static int dsa_builtin_keygen(DSA *dsa);
69 int DSA_generate_key(DSA *dsa) in DSA_generate_key() argument
71 if(dsa->meth->dsa_keygen) in DSA_generate_key()
72 return dsa->meth->dsa_keygen(dsa); in DSA_generate_key()
73 return dsa_builtin_keygen(dsa); in DSA_generate_key()
76 static int dsa_builtin_keygen(DSA *dsa) in dsa_builtin_keygen() argument
84 if (dsa->priv_key == NULL) in dsa_builtin_keygen()
89 priv_key=dsa->priv_key; in dsa_builtin_keygen()
92 if (!BN_rand_range(priv_key,dsa->q)) goto err; in dsa_builtin_keygen()
95 if (dsa->pub_key == NULL) in dsa_builtin_keygen()
100 pub_key=dsa->pub_key; in dsa_builtin_keygen()
106 if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0) in dsa_builtin_keygen()
115 if (!BN_mod_exp(pub_key,dsa->g,prk,dsa->p,ctx)) goto err; in dsa_builtin_keygen()
118 dsa->priv_key=priv_key; in dsa_builtin_keygen()
119 dsa->pub_key=pub_key; in dsa_builtin_keygen()
123 if ((pub_key != NULL) && (dsa->pub_key == NULL)) BN_free(pub_key); in dsa_builtin_keygen()
124 if ((priv_key != NULL) && (dsa->priv_key == NULL)) BN_free(priv_key); in dsa_builtin_keygen()