Summary
Split from #2013 after the fs validation reconciliation. The broad #2013 tracker named crypto as a historical stdlib validation cluster, but the current open crypto issues mostly cover manifest/export shape, KeyObject surface, algorithms, or behavior-specific gaps rather than a validation-only child.
This issue owns Node-compatible argument validation and error-code parity for the claimed node:crypto surface.
Local scope signals
Current curated crypto fixtures include validation/error coverage such as:
test-parity/node-suite/crypto/random/arg-validation.ts
test-parity/node-suite/crypto/random/random-fill-validation.ts
test-parity/node-suite/crypto/random/random-int-range-validation.ts
test-parity/node-suite/crypto/random/random-uuid-validation.ts
test-parity/node-suite/crypto/timing/timing-safe-equal-validation.ts
test-parity/node-suite/crypto/x509/invalid-constructor.ts
test-parity/node-suite/crypto/hash/unknown-algorithm.ts
test-parity/node-suite/crypto/hmac/unknown-algorithm.ts
test-parity/node-suite/crypto/webcrypto/errors/*
Scope
Validate and, where needed, fix invalid argument behavior for supported crypto APIs, including random bytes/fill/int/UUID options, timingSafeEqual, hash/HMAC/cipher/sign/KDF constructors and update/finalization paths, X509 constructor validation, WebCrypto algorithm/key mismatch errors, and key-generation/key-object validation where covered.
Match Node's thrown or rejected error class and .code where applicable, including ERR_INVALID_ARG_TYPE, ERR_OUT_OF_RANGE, ERR_INVALID_ARG_VALUE, ERR_CRYPTO_*, and DOMException names used by WebCrypto.
Acceptance
Summary
Split from #2013 after the fs validation reconciliation. The broad #2013 tracker named
cryptoas a historical stdlib validation cluster, but the current open crypto issues mostly cover manifest/export shape, KeyObject surface, algorithms, or behavior-specific gaps rather than a validation-only child.This issue owns Node-compatible argument validation and error-code parity for the claimed
node:cryptosurface.Local scope signals
Current curated crypto fixtures include validation/error coverage such as:
test-parity/node-suite/crypto/random/arg-validation.tstest-parity/node-suite/crypto/random/random-fill-validation.tstest-parity/node-suite/crypto/random/random-int-range-validation.tstest-parity/node-suite/crypto/random/random-uuid-validation.tstest-parity/node-suite/crypto/timing/timing-safe-equal-validation.tstest-parity/node-suite/crypto/x509/invalid-constructor.tstest-parity/node-suite/crypto/hash/unknown-algorithm.tstest-parity/node-suite/crypto/hmac/unknown-algorithm.tstest-parity/node-suite/crypto/webcrypto/errors/*Scope
Validate and, where needed, fix invalid argument behavior for supported crypto APIs, including random bytes/fill/int/UUID options,
timingSafeEqual, hash/HMAC/cipher/sign/KDF constructors and update/finalization paths, X509 constructor validation, WebCrypto algorithm/key mismatch errors, and key-generation/key-object validation where covered.Match Node's thrown or rejected error class and
.codewhere applicable, includingERR_INVALID_ARG_TYPE,ERR_OUT_OF_RANGE,ERR_INVALID_ARG_VALUE,ERR_CRYPTO_*, and DOMException names used by WebCrypto.Acceptance
./run_parity_tests.sh --suite node-suite --module cryptopasses, or any remaining validation failures are split by exact fixture/API.node:cryptovalidation child.