Refactor raw public key handling and legacy EVP_PKEY methods - #669
Refactor raw public key handling and legacy EVP_PKEY methods#669olszomal wants to merge 8 commits into
Conversation
|
Reviewed at 55c9aaf against master (8f8f9c4). The consolidation looks good and the SoftHSM suite is green on OpenSSL 3.6.3 (48 pass / 2 skip, identical to master), but I found two blockers that only show up outside the 3.x path. 1. Global RSA
|
| Environment | Result |
|---|---|
OpenSSL 3.6.3, --enable-strict, make check |
48 pass / 2 skip — same as master |
OpenSSL 1.1.0, build + rsa-evp-sign/rsa-pss-sign/rsa-oaep/rsa-keygen |
pass on both branches |
| OpenSSL 1.1.0, lifetime reproducer above | master 0, PR SIGSEGV |
LibreSSL 3.7.3, compile p11_pkey.c |
master OK, PR fails |
OpenSSL 3.6.3, direct libp11 Ed25519 EVP_DigestSign/Verify vs SoftHSM |
pass on both (new p11_rawkey.c path) |
./testall.sh |
stops at OpenSSL 1.0.2 — pre-existing on master too (OPENSSL_zalloc, X509_SIG_getm, OPENSSL_clear_free) |
Not covered: MSVC/Windows (Makefile.mak updated but not built), valgrind, ML-DSA/SLH-DSA/Falcon raw-key paths (no SoftHSM support), and thread-safety of the new global ecx_methods[]/rsa_pkey_method state (same unlocked pattern as master).
|
I’ve pushed another version of the refactoring with the changes discussed above. Could you please take another look and review it? |
Pull Request Type
Related Issue
Issue number: N/A
Scope of Changes
This PR consolidates raw public key handling into a shared module and reorganizes legacy OpenSSL
EVP_PKEY_METHODwrappers.It removes duplicated EdDSA, XDH and PQC key code, centralizes RSA and ECX method registration, reuses the existing
EVP_PKEYex-data association, and updates build files and tests for OpenSSL 3.x compatibility.Testing
Additional Notes
License Declaration