diff options
Diffstat (limited to 'src/crypto/rsa/rsa.c')
-rw-r--r-- | src/crypto/rsa/rsa.c | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/crypto/rsa/rsa.c b/src/crypto/rsa/rsa.c index 3ea4bff9..49ab27b7 100644 --- a/src/crypto/rsa/rsa.c +++ b/src/crypto/rsa/rsa.c @@ -71,8 +71,6 @@ #include "../internal.h" -extern const RSA_METHOD RSA_default_method; - static CRYPTO_EX_DATA_CLASS g_ex_data_class = CRYPTO_EX_DATA_CLASS_INIT; RSA *RSA_new(void) { return RSA_new_method(NULL); } @@ -126,6 +124,7 @@ void RSA_additional_prime_free(RSA_additional_prime *ap) { BN_clear_free(ap->exp); BN_clear_free(ap->coeff); BN_clear_free(ap->r); + BN_MONT_CTX_free(ap->mont); OPENSSL_free(ap); } @@ -155,6 +154,9 @@ void RSA_free(RSA *rsa) { BN_clear_free(rsa->dmp1); BN_clear_free(rsa->dmq1); BN_clear_free(rsa->iqmp); + BN_MONT_CTX_free(rsa->mont_n); + BN_MONT_CTX_free(rsa->mont_p); + BN_MONT_CTX_free(rsa->mont_q); for (u = 0; u < rsa->num_blindings; u++) { BN_BLINDING_free(rsa->blindings[u]); } @@ -178,7 +180,7 @@ int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb) { return rsa->meth->keygen(rsa, bits, e_value, cb); } - return RSA_default_method.keygen(rsa, bits, e_value, cb); + return rsa_default_keygen(rsa, bits, e_value, cb); } int RSA_generate_multi_prime_key(RSA *rsa, int bits, int num_primes, @@ -187,8 +189,7 @@ int RSA_generate_multi_prime_key(RSA *rsa, int bits, int num_primes, return rsa->meth->multi_prime_keygen(rsa, bits, num_primes, e_value, cb); } - return RSA_default_method.multi_prime_keygen(rsa, bits, num_primes, e_value, - cb); + return rsa_default_multi_prime_keygen(rsa, bits, num_primes, e_value, cb); } int RSA_encrypt(RSA *rsa, size_t *out_len, uint8_t *out, size_t max_out, @@ -197,8 +198,7 @@ int RSA_encrypt(RSA *rsa, size_t *out_len, uint8_t *out, size_t max_out, return rsa->meth->encrypt(rsa, out_len, out, max_out, in, in_len, padding); } - return RSA_default_method.encrypt(rsa, out_len, out, max_out, in, in_len, - padding); + return rsa_default_encrypt(rsa, out_len, out, max_out, in, in_len, padding); } int RSA_public_encrypt(size_t flen, const uint8_t *from, uint8_t *to, RSA *rsa, @@ -222,8 +222,7 @@ int RSA_sign_raw(RSA *rsa, size_t *out_len, uint8_t *out, size_t max_out, return rsa->meth->sign_raw(rsa, out_len, out, max_out, in, in_len, padding); } - return RSA_default_method.sign_raw(rsa, out_len, out, max_out, in, in_len, - padding); + return rsa_default_sign_raw(rsa, out_len, out, max_out, in, in_len, padding); } int RSA_private_encrypt(size_t flen, const uint8_t *from, uint8_t *to, RSA *rsa, @@ -247,8 +246,7 @@ int RSA_decrypt(RSA *rsa, size_t *out_len, uint8_t *out, size_t max_out, return rsa->meth->decrypt(rsa, out_len, out, max_out, in, in_len, padding); } - return RSA_default_method.decrypt(rsa, out_len, out, max_out, in, in_len, - padding); + return rsa_default_decrypt(rsa, out_len, out, max_out, in, in_len, padding); } int RSA_private_decrypt(size_t flen, const uint8_t *from, uint8_t *to, RSA *rsa, @@ -272,8 +270,8 @@ int RSA_verify_raw(RSA *rsa, size_t *out_len, uint8_t *out, size_t max_out, return rsa->meth->verify_raw(rsa, out_len, out, max_out, in, in_len, padding); } - return RSA_default_method.verify_raw(rsa, out_len, out, max_out, in, in_len, - padding); + return rsa_default_verify_raw(rsa, out_len, out, max_out, in, in_len, + padding); } int RSA_public_decrypt(size_t flen, const uint8_t *from, uint8_t *to, RSA *rsa, @@ -296,7 +294,7 @@ unsigned RSA_size(const RSA *rsa) { return rsa->meth->size(rsa); } - return RSA_default_method.size(rsa); + return rsa_default_size(rsa); } int RSA_is_opaque(const RSA *rsa) { @@ -808,7 +806,7 @@ int RSA_private_transform(RSA *rsa, uint8_t *out, const uint8_t *in, return rsa->meth->private_transform(rsa, out, in, len); } - return RSA_default_method.private_transform(rsa, out, in, len); + return rsa_default_private_transform(rsa, out, in, len); } int RSA_blinding_on(RSA *rsa, BN_CTX *ctx) { |