aboutsummaryrefslogtreecommitdiff
path: root/src/common/Cryptography/RSA.cpp
diff options
context:
space:
mode:
authorWarlockbugs <Warlockbugs@users.noreply.github.com>2018-03-04 17:26:08 +0300
committerShauren <shauren.trinity@gmail.com>2018-03-04 15:26:08 +0100
commit87bd1126ff3a6e8ba83fc01985d20e3436d926be (patch)
treeb19d78acf6407b0afc4151a5e871d1370a1b5f5b /src/common/Cryptography/RSA.cpp
parent7e643662fda63c92f32cf78323acdbd08732ccea (diff)
Core/Crypto: Transitional Cryptography update for OpenSSL 1.1 (#21534)
Support for both OpenSSL 1.0 LTS and OpenSSL 1.1 versions. Many Linux distributions are still on 1.0 and will stay on LTS for quite some time. Port of CMaNGOS commit: https://github.com/cmangos/mangos-wotlk/commit/e1b0048f052eda46bb27d20224d0339960816ac2
Diffstat (limited to 'src/common/Cryptography/RSA.cpp')
-rw-r--r--src/common/Cryptography/RSA.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/common/Cryptography/RSA.cpp b/src/common/Cryptography/RSA.cpp
index 4b949dbb19e..5c07a919e1b 100644
--- a/src/common/Cryptography/RSA.cpp
+++ b/src/common/Cryptography/RSA.cpp
@@ -93,7 +93,13 @@ bool Trinity::Crypto::RSA::LoadFromString(std::string const& keyPem, KeyTag)
BigNumber Trinity::Crypto::RSA::GetModulus() const
{
BigNumber bn;
+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L
+ const BIGNUM* rsa_n;
+ RSA_get0_key(_rsa, &rsa_n, nullptr, nullptr);
+ BN_copy(bn.BN(), rsa_n);
+#else
BN_copy(bn.BN(), _rsa->n);
+#endif
return bn;
}