-
Notifications
You must be signed in to change notification settings - Fork 719
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Cleanup] Remove deprecated OpenSSL Bignum support #2288
[Cleanup] Remove deprecated OpenSSL Bignum support #2288
Conversation
49ddb7e
to
82a1e72
Compare
82a1e72
to
8559237
Compare
rebased now that #2278 has been merged |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK 8559237
We've been using GMP for Bignum support by default already, and now that zerocoin has been replaced, there is little reason to keep the OpenSSL fallback Bignum support anymore.
8559237
to
00a32dd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 00a32dd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 00a32dd and merging...
5563331 Snap: remove openssl from nightly snapcraft build requirements (Fuzzbawls) 686bfad doc: Add OpenSSL removal to release notes (Fuzzbawls) f669248 ci: remove OpenSSL installation (Fuzzbawls) 9660aec doc: remove OpenSSL from build instructions and licensing info (Fuzzbawls) 9b2e35d depends: remove OpenSSL package (Fuzzbawls) 9a81d8e CMake: remove OpenSSL detection and libs (Fuzzbawls) 53576bc build: remove OpenSSL detection and libs (fanquake) 5f30c2b Stop using OpenSSL's sha hashing in bip38 code (Fuzzbawls) d531bf2 Use our own hmac_sha256 instead of OpenSSL's in scrypt.cpp (Fuzzbawls) b687f8e Use ctaes instead of OpenSSL's AES in bip38 code (Fuzzbawls) 86c978a Remove unused openssl includes (Fuzzbawls) ab830e5 remove unused EncodeBase64Secure (Fuzzbawls) 690c938 random: Remove remaining OpenSSL calls and locking infrastructure (fanquake) 602c0b2 random: stop retrieving random bytes from OpenSSL (fanquake) b1c8396 random: stop feeding RNG output back into OpenSSL (fanquake) Pull request description: The natural follow-up to #2278, #2286, and #2288. With these three PRs merged, there are only a few minor pieces of code that still rely on OpenSSL: - a call to `RAND_bytes` during the ::SLOW path of ProcRand - feeding output from our RNG back into OpenSSL via `RAND_add` during the ::SLOW and ::SLEEP paths. - an unused function in `utilstrencodings.cpp` (`DecodeBase64Secure()`, now removed) - some stale (un-needed/un-used) header includes - bip38 exclusive usages including the following: - using OpenSSL's AES for encryption, now switched to using ctaes - using OpenSSL to do HMAC_SHA256 hashing in `crypto/scrypt.cpp`, now switched to using our native HMAC_SHA256 header - an unused function in `hash.h` (`std::string Hash(std::string input)`), now removed - a SHA256 Hash function to compute a void pointer, switched to using template objects Upstream PRs backported: bitcoin#17265, bitcoin#17515, and bitcoin#18825 The changes to bip38 were tested by doing two-way encryption/decryption between `master` and this PR ACKs for top commit: random-zebra: ACK 5563331 furszy: k, ACK 5563331 and merging.. Tree-SHA512: bfa7445d7b153bb5ea04b7b52bbedaa07ad5acd1a56221425fa5fb7c20ecbf90f392c85273734ad2a277d4fffc43b10a7a660924a8a41c175ba2fc68e6cf820f
We've been using GMP for Bignum support by default already, and now that
zerocoin has been replaced, there is little reason to keep the OpenSSL
fallback Bignum support anymore.