summaryrefslogtreecommitdiffstats
path: root/lib/libcrypto/dsa/dsa_key.c
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2006-06-27 05:06:51 +0000
committerdjm <djm@openbsd.org>2006-06-27 05:06:51 +0000
commit6d388760ec629bdebe2f200913a35899243a7957 (patch)
treeecc7cf9ca37d08421471848c6f746702ed91b8e8 /lib/libcrypto/dsa/dsa_key.c
parentimport of openssl-0.9.7j (diff)
downloadwireguard-openbsd-6d388760ec629bdebe2f200913a35899243a7957.tar.xz
wireguard-openbsd-6d388760ec629bdebe2f200913a35899243a7957.zip
resolve conflicts
Diffstat (limited to 'lib/libcrypto/dsa/dsa_key.c')
-rw-r--r--lib/libcrypto/dsa/dsa_key.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/libcrypto/dsa/dsa_key.c b/lib/libcrypto/dsa/dsa_key.c
index 30607ca579f..980b6dc2d30 100644
--- a/lib/libcrypto/dsa/dsa_key.c
+++ b/lib/libcrypto/dsa/dsa_key.c
@@ -90,8 +90,22 @@ int DSA_generate_key(DSA *dsa)
}
else
pub_key=dsa->pub_key;
+
+ {
+ BIGNUM local_prk;
+ BIGNUM *prk;
+
+ if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0)
+ {
+ BN_init(&local_prk);
+ prk = &local_prk;
+ BN_with_flags(prk, priv_key, BN_FLG_EXP_CONSTTIME);
+ }
+ else
+ prk = priv_key;
- if (!BN_mod_exp(pub_key,dsa->g,priv_key,dsa->p,ctx)) goto err;
+ if (!BN_mod_exp(pub_key,dsa->g,prk,dsa->p,ctx)) goto err;
+ }
dsa->priv_key=priv_key;
dsa->pub_key=pub_key;