summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dsa/dsa_gen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_gen.c')
-rw-r--r--src/lib/libcrypto/dsa/dsa_gen.c18
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
82DSA *DSA_generate_parameters(int bits, unsigned char *seed_in, int seed_len, 83DSA *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))