diff options
author | Jack Lloyd <[email protected]> | 2017-05-22 17:38:45 -0400 |
---|---|---|
committer | Jack Lloyd <[email protected]> | 2017-05-22 17:38:45 -0400 |
commit | b136d4e7ca350bb388a1a6d638b1010a2b1e5b73 (patch) | |
tree | 59831426531d0de9ba4c7eb82126d6c20afd4675 /src/lib/prov/openssl/openssl_rsa.cpp | |
parent | 7728fbf8ebbac349bab487bda842cbd8c073848f (diff) |
Add copy_state to OpenSSL hash functions, and port to OpenSSL 1.1.0
Diffstat (limited to 'src/lib/prov/openssl/openssl_rsa.cpp')
-rw-r--r-- | src/lib/prov/openssl/openssl_rsa.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/lib/prov/openssl/openssl_rsa.cpp b/src/lib/prov/openssl/openssl_rsa.cpp index 8c25d00ef..f8b2b82d6 100644 --- a/src/lib/prov/openssl/openssl_rsa.cpp +++ b/src/lib/prov/openssl/openssl_rsa.cpp @@ -152,7 +152,14 @@ class OpenSSL_RSA_Verification_Operation : public PK_Ops::Verification_with_EMSA throw OpenSSL_Error("d2i_RSAPublicKey"); } - size_t max_input_bits() const override { return ::BN_num_bits(m_openssl_rsa->n) - 1; } + size_t max_input_bits() const override + { +#if OPENSSL_VERSION_NUMBER < 0x10100000L + return ::BN_num_bits(m_openssl_rsa->n) - 1; +#else + return ::RSA_bits(m_openssl_rsa.get()) - 1; +#endif + } bool with_recovery() const override { return true; } @@ -215,7 +222,14 @@ class OpenSSL_RSA_Signing_Operation : public PK_Ops::Signature_with_EMSA return outbuf; } - size_t max_input_bits() const override { return ::BN_num_bits(m_openssl_rsa->n) - 1; } + size_t max_input_bits() const override + { +#if OPENSSL_VERSION_NUMBER < 0x10100000L + return ::BN_num_bits(m_openssl_rsa->n) - 1; +#else + return ::RSA_bits(m_openssl_rsa.get()) - 1; +#endif + } private: std::unique_ptr<RSA, std::function<void (RSA*)>> m_openssl_rsa; @@ -269,10 +283,10 @@ make_openssl_rsa_private_key(RandomNumberGenerator& rng, size_t rsa_bits) std::unique_ptr<RSA, std::function<void (RSA*)>> rsa(RSA_new(), RSA_free); if(!rsa) throw OpenSSL_Error("RSA_new"); - if(!RSA_generate_key_ex(rsa.get(), rsa_bits, bn.get(), NULL)) + if(!RSA_generate_key_ex(rsa.get(), rsa_bits, bn.get(), nullptr)) throw OpenSSL_Error("RSA_generate_key_ex"); - uint8_t* der = NULL; + uint8_t* der = nullptr; int bytes = i2d_RSAPrivateKey(rsa.get(), &der); if(bytes < 0) throw OpenSSL_Error("i2d_RSAPrivateKey"); |