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>
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);
}
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))
/*
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;