Skip to content

Bump OpenSSL master in CI, handle rejection of degenerate RSA ciphertexts - #15432

Merged
reaperhulk merged 2 commits into
pyca:mainfrom
alex:bump-openssl-master-rsasve
Aug 10, 2026
Merged

Bump OpenSSL master in CI, handle rejection of degenerate RSA ciphertexts#15432
reaperhulk merged 2 commits into
pyca:mainfrom
alex:bump-openssl-master-rsasve

Conversation

@alex

@alex alex commented Aug 10, 2026

Copy link
Copy Markdown
Member

Supersedes #15430 (cherry-picks its bump commit).

The new OpenSSL master pin contains only openssl/openssl#32124, which moved the SP800-56Br2 1 < ciphertext < n-1 check in rsa_ossl_private_decrypt out of #ifdef FIPS_MODULE, so all OpenSSL builds >= 4.1 now reject degenerate RSA ciphertexts. This broke the Wycheproof rsa_oaep_misc_test.json case with ct = 1 (tcId 376, flagged SmallIntegerCiphertext), which previously round-tripped on non-FIPS OpenSSL.

This adds a CRYPTOGRAPHY_OPENSSL_410_OR_GREATER constant and extends the existing AWS-LC/FIPS carve-out in the Wycheproof OAEP test to cover it, so those cases are now expected to raise ValueError.

🤖 Generated with Claude Code

pyca-boringbot[bot] and others added 2 commits August 10, 2026 06:56
OpenSSL e5d2eaee1 (openssl/openssl#32124) now enforces
1 < ciphertext < n-1 in RSA private decryption on all builds, not just
the FIPS module. Add a CRYPTOGRAPHY_OPENSSL_410_OR_GREATER constant and
expect the Wycheproof SmallIntegerCiphertext OAEP cases to fail there,
matching the existing AWS-LC and FIPS behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@reaperhulk
reaperhulk enabled auto-merge (squash) August 10, 2026 11:01
@reaperhulk
reaperhulk merged commit ccb3c6c into pyca:main Aug 10, 2026
69 checks passed
@alex
alex deleted the bump-openssl-master-rsasve branch August 10, 2026 11:05
reaperhulk pushed a commit that referenced this pull request Aug 18, 2026
…RSA ciphertext handling (#15479)

* Bump BoringSSL, OpenSSL, AWS-LC in CI

* Revert "Bump OpenSSL master in CI, handle rejection of degenerate RSA ciphertexts (#15432)"

This reverts commit ccb3c6c, except for
the CI pins, which are kept at the latest versions.

OpenSSL 3b6a8a1fd0 (openssl/openssl#32314) moved the 1 < c < n-1 bound
in RSA private decryption back behind FIPS_MODULE (applying it to
RSASVE separately), so non-FIPS OpenSSL 4.1 no longer rejects the
Wycheproof SmallIntegerCiphertext OAEP cases and the
CRYPTOGRAPHY_OPENSSL_410_OR_GREATER handling is no longer needed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: pyca-boringbot[bot] <pyca-boringbot[bot]+106132319@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants