aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2016-03-07 17:31:00 +0000
committerDr. Stephen Henson <steve@openssl.org>2016-03-07 22:15:04 +0000
commite1d9f1ab39eeab0c3c2b9415e0aaaa8c05858f77 (patch)
treeac2225dbe271f7b6250653cdddd21382c781b163
parentf7c4584b15320d94863daba2996eee21dde23732 (diff)
downloadopenssl-e1d9f1ab39eeab0c3c2b9415e0aaaa8c05858f77.zip
openssl-e1d9f1ab39eeab0c3c2b9415e0aaaa8c05858f77.tar.gz
openssl-e1d9f1ab39eeab0c3c2b9415e0aaaa8c05858f77.tar.bz2
Remove kinv/r fields from DSA structure.
The kinv/r fields in the DSA structure are not used by OpenSSL internally and should not be used in general. Reviewed-by: Rich Salz <rsalz@openssl.org>
-rw-r--r--crypto/dsa/dsa_lib.c2
-rw-r--r--crypto/dsa/dsa_ossl.c12
-rw-r--r--include/openssl/dsa.h2
3 files changed, 2 insertions, 14 deletions
diff --git a/crypto/dsa/dsa_lib.c b/crypto/dsa/dsa_lib.c
index f892973..f7795b2 100644
--- a/crypto/dsa/dsa_lib.c
+++ b/crypto/dsa/dsa_lib.c
@@ -180,8 +180,6 @@ void DSA_free(DSA *r)
BN_clear_free(r->g);
BN_clear_free(r->pub_key);
BN_clear_free(r->priv_key);
- BN_clear_free(r->kinv);
- BN_clear_free(r->r);
OPENSSL_free(r);
}
diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c
index cbc1e41..0874e89 100644
--- a/crypto/dsa/dsa_ossl.c
+++ b/crypto/dsa/dsa_ossl.c
@@ -158,16 +158,8 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
if (ctx == NULL)
goto err;
redo:
- if ((dsa->kinv == NULL) || (dsa->r == NULL)) {
- if (!dsa_sign_setup(dsa, ctx, &kinv, &r, dgst, dlen))
- goto err;
- } else {
- kinv = dsa->kinv;
- dsa->kinv = NULL;
- r = dsa->r;
- dsa->r = NULL;
- noredo = 1;
- }
+ if (!dsa_sign_setup(dsa, ctx, &kinv, &r, dgst, dlen))
+ goto err;
if (dlen > BN_num_bytes(dsa->q))
/*
diff --git a/include/openssl/dsa.h b/include/openssl/dsa.h
index 643fee4..a338eae 100644
--- a/include/openssl/dsa.h
+++ b/include/openssl/dsa.h
@@ -164,8 +164,6 @@ struct dsa_st {
BIGNUM *g;
BIGNUM *pub_key; /* y public key */
BIGNUM *priv_key; /* x private key */
- BIGNUM *kinv; /* Signing pre-calc */
- BIGNUM *r; /* Signing pre-calc */
int flags;
/* Normally used to cache montgomery values */
BN_MONT_CTX *method_mont_p;