Conversation
Use one owning KDF interface for HKDF expansion, PBKDF2 and scrypt, sharing provider setup with Argon2. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
Import RSA public keys through OSSL_DECODER on OpenSSL 3 so the resulting keys stay provider-backed. Preserve the PKCS#1 input structure and the ASN.1 encodings accepted by the legacy decoder. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
Resolve provider ciphers before serializing private keys and retain the fetched implementation across encoding configuration copies and async key generation. Keep format-specific restrictions in the serializers. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
Pass group names through EC key generation and report provider names in key details without requiring an OpenSSL NID. Preserve established curve aliases and synchronous invalid-curve errors. Filter built-in curves through EC parameter generation and refresh getCurves() results when FIPS properties change. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
Retrieving asymmetricKeyDetails only needs the modulus, public exponent, and RSA-PSS restrictions. Add a public-only Rsa view so provider-backed keys do not also extract private components or probe additional primes. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
|
Review requested:
|
|
Benchmark GHA (crypto / hkdf.js): https://github.com/nodejs/node/actions/runs/35355635938 Results
Benchmark results:
|
|
Benchmark GHA (crypto / key-details): https://github.com/nodejs/node/actions/runs/35355599035 Results
Benchmark results:
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #66108 +/- ##
==========================================
- Coverage 92.75% 90.29% -2.47%
==========================================
Files 421 790 +369
Lines 190416 271652 +81236
Branches 29161 51850 +22689
==========================================
+ Hits 176627 245280 +68653
- Misses 13461 16910 +3449
- Partials 328 9462 +9134
🚀 New features to boost your workflow:
|
Query salt length and digest restrictions instead of serializing the key to SPKI and parsing its algorithm identifier. A readable salt length distinguishes restricted keys, including empty parameter sequences, from unrestricted keys. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
Exercise getCiphers(), getHashes(), getMacs() and getCurves() through one shared cache/FIPS driver and one snapshot fixture. Keep defensive copies, generation changes, rejected and idempotent toggles, and cross-worker invalidation consistent across the lists. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex
46845b9 to
6515be8
Compare
Use
EVP_KDFfor HKDF expansion, PBKDF2 and scrypt, sharing the wrapper with Argon2. Use provider APIs for PKCS#1 public-key decoding, private-key cipher lookup and EC group names.Read RSA key details without fetching private components or serializing RSA-PSS keys. Filter built-in curves by provider availability and consolidate cache/FIPS coverage across the algorithm-list getters.