diff options
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_gen.c')
-rw-r--r-- | src/lib/libcrypto/dsa/dsa_gen.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_gen.c b/src/lib/libcrypto/dsa/dsa_gen.c index 2294a362d9..dc9c249310 100644 --- a/src/lib/libcrypto/dsa/dsa_gen.c +++ b/src/lib/libcrypto/dsa/dsa_gen.c | |||
@@ -61,25 +61,27 @@ | |||
61 | #ifdef GENUINE_DSA | 61 | #ifdef GENUINE_DSA |
62 | /* Parameter generation follows the original release of FIPS PUB 186, | 62 | /* Parameter generation follows the original release of FIPS PUB 186, |
63 | * Appendix 2.2 (i.e. use SHA as defined in FIPS PUB 180) */ | 63 | * Appendix 2.2 (i.e. use SHA as defined in FIPS PUB 180) */ |
64 | #define HASH SHA | 64 | #define HASH EVP_sha() |
65 | #else | 65 | #else |
66 | /* Parameter generation follows the updated Appendix 2.2 for FIPS PUB 186, | 66 | /* Parameter generation follows the updated Appendix 2.2 for FIPS PUB 186, |
67 | * also Appendix 2.2 of FIPS PUB 186-1 (i.e. use SHA as defined in | 67 | * also Appendix 2.2 of FIPS PUB 186-1 (i.e. use SHA as defined in |
68 | * FIPS PUB 180-1) */ | 68 | * FIPS PUB 180-1) */ |
69 | #define HASH SHA1 | 69 | #define HASH EVP_sha1() |
70 | #endif | 70 | #endif |
71 | 71 | ||
72 | #ifndef NO_SHA | 72 | #ifndef OPENSSL_NO_SHA |
73 | 73 | ||
74 | #include <stdio.h> | 74 | #include <stdio.h> |
75 | #include <time.h> | 75 | #include <time.h> |
76 | #include "cryptlib.h" | 76 | #include "cryptlib.h" |
77 | #include <openssl/sha.h> | 77 | #include <openssl/evp.h> |
78 | #include <openssl/bn.h> | 78 | #include <openssl/bn.h> |
79 | #include <openssl/dsa.h> | 79 | #include <openssl/dsa.h> |
80 | #include <openssl/rand.h> | 80 | #include <openssl/rand.h> |
81 | #include <openssl/sha.h> | ||
81 | 82 | ||
82 | DSA *DSA_generate_parameters(int bits, unsigned char *seed_in, int seed_len, | 83 | DSA *DSA_generate_parameters(int bits, |
84 | unsigned char *seed_in, int seed_len, | ||
83 | int *counter_ret, unsigned long *h_ret, | 85 | int *counter_ret, unsigned long *h_ret, |
84 | void (*callback)(int, int, void *), | 86 | void (*callback)(int, int, void *), |
85 | void *cb_arg) | 87 | void *cb_arg) |
@@ -157,8 +159,8 @@ DSA *DSA_generate_parameters(int bits, unsigned char *seed_in, int seed_len, | |||
157 | } | 159 | } |
158 | 160 | ||
159 | /* step 2 */ | 161 | /* step 2 */ |
160 | HASH(seed,SHA_DIGEST_LENGTH,md); | 162 | EVP_Digest(seed,SHA_DIGEST_LENGTH,md,NULL,HASH, NULL); |
161 | HASH(buf,SHA_DIGEST_LENGTH,buf2); | 163 | EVP_Digest(buf,SHA_DIGEST_LENGTH,buf2,NULL,HASH, NULL); |
162 | for (i=0; i<SHA_DIGEST_LENGTH; i++) | 164 | for (i=0; i<SHA_DIGEST_LENGTH; i++) |
163 | md[i]^=buf2[i]; | 165 | md[i]^=buf2[i]; |
164 | 166 | ||
@@ -205,7 +207,7 @@ DSA *DSA_generate_parameters(int bits, unsigned char *seed_in, int seed_len, | |||
205 | if (buf[i] != 0) break; | 207 | if (buf[i] != 0) break; |
206 | } | 208 | } |
207 | 209 | ||
208 | HASH(buf,SHA_DIGEST_LENGTH,md); | 210 | EVP_Digest(buf,SHA_DIGEST_LENGTH,md,NULL,HASH, NULL); |
209 | 211 | ||
210 | /* step 8 */ | 212 | /* step 8 */ |
211 | if (!BN_bin2bn(md,SHA_DIGEST_LENGTH,r0)) | 213 | if (!BN_bin2bn(md,SHA_DIGEST_LENGTH,r0)) |