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
Make crypto run with FIPS on OpenSSL 3.0 #7392
Make crypto run with FIPS on OpenSSL 3.0 #7392
Conversation
CT Test Results 2 files 14 suites 7m 7s ⏱️ Results for commit 830ce7a. ♻️ This comment has been updated with latest results. To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass. See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally. Artifacts// Erlang/OTP Github Action Bot |
Added some tweaking of tests to please FIPS. |
6cb003c
to
701e5d8
Compare
All crypto tests pass on OpenSSL 3.0.9 and 3.1.1 with FIPS. |
to prepare for using FIPS on OpenSSL 3.0
It is not allowed to write to the binary buffer returned by enif_inspect_binary() (even if you created the binary yourself). In DEBUG built VM such abuse will be punished with: "Readonly data written by NIF, checksums differ 8000425 != 25040008 ABORTING" Instead use enif_make_new_binary() to create a writable binary buffer.
OpenSSL 3 FIPS does only accept named ec curves. So we try that first, and if it fails we retry with the params passed down by crypto.erl.
to pass OpenSSL the name it accepts.
FIPs on OpenSSL 3 seems to demand P to be a safe prime where Q = (P-1)/2 is also prime.
830ce7a
to
bb6e559
Compare
Merged to maint for release in OTP-26.1. The branch is based on OTP-25.3.2, but will probably not be release in any 25.3.2.* release as it's more than a bug fix. |
Thank you from Team RabbitMQ! |
Fix #7086
Fix #6981
Fix #6566
Fix #6406