diff options
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_key.c')
| -rw-r--r-- | src/lib/libcrypto/dsa/dsa_key.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_key.c b/src/lib/libcrypto/dsa/dsa_key.c index 980b6dc2d3..c4aa86bc6d 100644 --- a/src/lib/libcrypto/dsa/dsa_key.c +++ b/src/lib/libcrypto/dsa/dsa_key.c | |||
| @@ -56,17 +56,25 @@ | |||
| 56 | * [including the GNU Public Licence.] | 56 | * [including the GNU Public Licence.] |
| 57 | */ | 57 | */ |
| 58 | 58 | ||
| 59 | #ifndef OPENSSL_NO_SHA | ||
| 60 | #include <stdio.h> | 59 | #include <stdio.h> |
| 61 | #include <time.h> | 60 | #include <time.h> |
| 62 | #include "cryptlib.h" | 61 | #include "cryptlib.h" |
| 62 | #ifndef OPENSSL_NO_SHA | ||
| 63 | #include <openssl/bn.h> | 63 | #include <openssl/bn.h> |
| 64 | #include <openssl/dsa.h> | 64 | #include <openssl/dsa.h> |
| 65 | #include <openssl/rand.h> | 65 | #include <openssl/rand.h> |
| 66 | 66 | ||
| 67 | #ifndef OPENSSL_FIPS | 67 | static int dsa_builtin_keygen(DSA *dsa); |
| 68 | |||
| 68 | int DSA_generate_key(DSA *dsa) | 69 | int DSA_generate_key(DSA *dsa) |
| 69 | { | 70 | { |
| 71 | if(dsa->meth->dsa_keygen) | ||
| 72 | return dsa->meth->dsa_keygen(dsa); | ||
| 73 | return dsa_builtin_keygen(dsa); | ||
| 74 | } | ||
| 75 | |||
| 76 | static int dsa_builtin_keygen(DSA *dsa) | ||
| 77 | { | ||
| 70 | int ok=0; | 78 | int ok=0; |
| 71 | BN_CTX *ctx=NULL; | 79 | BN_CTX *ctx=NULL; |
| 72 | BIGNUM *pub_key=NULL,*priv_key=NULL; | 80 | BIGNUM *pub_key=NULL,*priv_key=NULL; |
| @@ -99,7 +107,7 @@ int DSA_generate_key(DSA *dsa) | |||
| 99 | { | 107 | { |
| 100 | BN_init(&local_prk); | 108 | BN_init(&local_prk); |
| 101 | prk = &local_prk; | 109 | prk = &local_prk; |
| 102 | BN_with_flags(prk, priv_key, BN_FLG_EXP_CONSTTIME); | 110 | BN_with_flags(prk, priv_key, BN_FLG_CONSTTIME); |
| 103 | } | 111 | } |
| 104 | else | 112 | else |
| 105 | prk = priv_key; | 113 | prk = priv_key; |
| @@ -118,4 +126,3 @@ err: | |||
| 118 | return(ok); | 126 | return(ok); |
| 119 | } | 127 | } |
| 120 | #endif | 128 | #endif |
| 121 | #endif | ||
