diff options
| author | beck <> | 2000-12-15 02:58:47 +0000 |
|---|---|---|
| committer | beck <> | 2000-12-15 02:58:47 +0000 |
| commit | 9200bb13d15da4b2a23e6bc92c20e95b74aa2113 (patch) | |
| tree | 5c52d628ec1e34be76e7ef2a4235d248b7c44d24 /src/lib/libcrypto/dsa/dsa_ossl.c | |
| parent | e131d25072e3d4197ba4b9bcc0d1b27d34d6488d (diff) | |
| download | openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.tar.gz openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.tar.bz2 openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.zip | |
openssl-engine-0.9.6 merge
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_ossl.c')
| -rw-r--r-- | src/lib/libcrypto/dsa/dsa_ossl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_ossl.c b/src/lib/libcrypto/dsa/dsa_ossl.c index b51cf6ad8d..96295dc24f 100644 --- a/src/lib/libcrypto/dsa/dsa_ossl.c +++ b/src/lib/libcrypto/dsa/dsa_ossl.c | |||
| @@ -64,6 +64,7 @@ | |||
| 64 | #include <openssl/dsa.h> | 64 | #include <openssl/dsa.h> |
| 65 | #include <openssl/rand.h> | 65 | #include <openssl/rand.h> |
| 66 | #include <openssl/asn1.h> | 66 | #include <openssl/asn1.h> |
| 67 | #include <openssl/engine.h> | ||
| 67 | 68 | ||
| 68 | static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); | 69 | static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); |
| 69 | static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); | 70 | static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); |
| @@ -181,7 +182,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) | |||
| 181 | /* Get random k */ | 182 | /* Get random k */ |
| 182 | for (;;) | 183 | for (;;) |
| 183 | { | 184 | { |
| 184 | if (!BN_rand(&k, BN_num_bits(dsa->q), 1, 0)) goto err; | 185 | if (!BN_rand(&k, BN_num_bits(dsa->q), 0, 0)) goto err; |
| 185 | if (BN_cmp(&k,dsa->q) >= 0) | 186 | if (BN_cmp(&k,dsa->q) >= 0) |
| 186 | BN_sub(&k,&k,dsa->q); | 187 | BN_sub(&k,&k,dsa->q); |
| 187 | if (!BN_is_zero(&k)) break; | 188 | if (!BN_is_zero(&k)) break; |
| @@ -195,7 +196,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) | |||
| 195 | } | 196 | } |
| 196 | 197 | ||
| 197 | /* Compute r = (g^k mod p) mod q */ | 198 | /* Compute r = (g^k mod p) mod q */ |
| 198 | if (!dsa->meth->bn_mod_exp(dsa, r,dsa->g,&k,dsa->p,ctx, | 199 | if (!ENGINE_get_DSA(dsa->engine)->bn_mod_exp(dsa, r,dsa->g,&k,dsa->p,ctx, |
| 199 | (BN_MONT_CTX *)dsa->method_mont_p)) goto err; | 200 | (BN_MONT_CTX *)dsa->method_mont_p)) goto err; |
| 200 | if (!BN_mod(r,r,dsa->q,ctx)) goto err; | 201 | if (!BN_mod(r,r,dsa->q,ctx)) goto err; |
| 201 | 202 | ||
| @@ -273,7 +274,7 @@ static int dsa_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig, | |||
| 273 | if (!BN_mod(&u1,&u1,dsa->q,ctx)) goto err; | 274 | if (!BN_mod(&u1,&u1,dsa->q,ctx)) goto err; |
| 274 | #else | 275 | #else |
| 275 | { | 276 | { |
| 276 | if (!dsa->meth->dsa_mod_exp(dsa, &t1,dsa->g,&u1,dsa->pub_key,&u2, | 277 | if (!ENGINE_get_DSA(dsa->engine)->dsa_mod_exp(dsa, &t1,dsa->g,&u1,dsa->pub_key,&u2, |
| 277 | dsa->p,ctx,mont)) goto err; | 278 | dsa->p,ctx,mont)) goto err; |
| 278 | /* BN_copy(&u1,&t1); */ | 279 | /* BN_copy(&u1,&t1); */ |
| 279 | /* let u1 = u1 mod q */ | 280 | /* let u1 = u1 mod q */ |
