Open
Description
I would like to use this ticket to manage all the issues related to OpenSSL 3 FIPS. The goal of this ticket is to pass all the unit tests with the OpenSSL 3.2, 3.1 and 3.0 FIPS cases on the CI.
FIPS related issues/pull-requests
I update the list regularly. The issues are sorted by newest first.
- 11: Rakefile: Manage test files by excluding test files in the test_fips task. #820
- 10: Add passing test files in FIPS. #819
- 9: Fix test_provider.rb in FIPS. #794
- 8: Fix test_pkey_rsa.rb in FIPS. #790
- 7: Fix test_pkey_dsa.rb in FIPS. #729
- 6: Fix test_pkey_dh.rb in FIPS. #694
- 5: Fixed
test/openssl/test_pkey_ec.rb
. test_pkey_ec.rb test failures in OpenSSL FIPS #671 fixed by test/openssl/test_pkey_ec.rb: refactor tests for EC.builtin_curves #675, and Fix test_pkey_ec.rb on FIPS. #681. - 4: Fixed the second issue in
OpenSSL::PKey.read
andtest/openssl/test_pkey.rb
. The issue was fixed by the the workaround ossl_pkey.c: Workaround: Decode with non-zero selections. #669.- ed25519: OpenSSL 3.0.8: ed25519 a decode from and then encode to a pem file corrupts the key if fips+base provider is used openssl/openssl#20758
- x25519: OpenSSL 3: x25519 a decode from and then encode to a pem file corrupts the key if fips+base provider is used openssl/openssl#21493
- Fixed PR in OpenSSL Decoder key export fixes openssl/openssl#21519
- 3: OpenSSL 3 FIPS mode - creating encrypted RSA key pair fails with PEM_write_bio_PrivateKey_traditional: initialization error (OpenSSL::PKey::PKeyError) #643
- 2: Fixed an issue in
OpenSSL::PKey.read
. Applied the workaround PR Fix OpenSSL::PKey.read that cannot parse PKey in the FIPS mode. #615 to avoid the OpenSSL issue OSSL_DECODER_CTX_set_selection doesn't apply the selection value properly openssl/openssl#20657. - 1: Fixed the
OpenSSL.fips_mode
in OpenSSL 3.0+. The issue: OpenSSL 3: OpenSSL.fips_mode returns false in FIPS enabled environment #605, the PR: Implement FIPS functions, adding OpenSSL FIPS mode case on CI. #608
Remaining tasks to the goal
Fix other test files test/**/test_*.rb
to pass in CI. The fixed test files 18/33.
$ date
Wed Oct 4 04:54:22 PM CEST 2023
$ find test/ -name "test_*.rb" | wc -l
33
Documents
- How to debug Ruby OpenSSL binding with OpenSSL 3 FIPS: Contribution is welcome!
- Check openssl-head fips, openssl-3.1.z fips or openssl-3.0 fips cases in this repository's GitHub Actions YAML file to know how to compile Ruby OpenSSL binding with OpenSSL FIPS.
Original comment
I deleted to simplify this issue ticket. I think we don't need the original comment's information any more.
Metadata
Metadata
Assignees
Labels
No labels