Skip to content

crypto: enable ML-DSA, ML-KEM, AES-KW, and ChaCha20-Poly1305 on BoringSSL - #63255

Closed
panva wants to merge 4 commits into
nodejs:mainfrom
panva:make-crypto-boring-again
Closed

crypto: enable ML-DSA, ML-KEM, AES-KW, and ChaCha20-Poly1305 on BoringSSL#63255
panva wants to merge 4 commits into
nodejs:mainfrom
panva:make-crypto-boring-again

Conversation

@panva

@panvapanva commented May 11, 2026

Copy link
Copy Markdown
Member

This PR wires up the following when using BoringSSL:

  • AES-KW in Web Cryptography
  • ChaCha20-Poly1305 in Web Cryptography experimentalIssues and PRs related to experimental features.
  • ML-DSA and ML-KEM in Web Cryptography experimentalIssues and PRs related to experimental features.
  • ML-DSA and ML-KEM in node:crypto

Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127

@panvapanva added crypto Issues and PRs related to the crypto subsystem. webcrypto commit-queue-rebase Add this label to allow the Commit Queue to land a PR in several commits. labels May 11, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/crypto
  • @nodejs/performance
  • @nodejs/security-wg

@nodejs-github-botnodejs-github-bot added lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels May 11, 2026
@panva
panva requested a review from addaleaxMay 11, 2026 16:17
@codecov

codecovBot commented May 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.24390% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.05%. Comparing base (6482073) to head (a1d227f).
⚠️ Report is 24 commits behind head on main.

Files with missing linesPatch %Lines
lib/internal/crypto/webidl.js50.00%5 Missing ⚠️
src/crypto/crypto_pqc.cc92.00%0 Missing and 2 partials ⚠️
src/crypto/crypto_keys.cc97.61%0 Missing and 1 partial ⚠️
Additional details and impacted files
@@ Coverage Diff @@## main #63255 +/- ##
==========================================
+ Coverage 90.04% 90.05% +0.01% 
==========================================
Files 714 714 Lines 225352 225371 +19 Branches 42605 42621 +16 ==========================================
+ Hits 202909 202954 +45 + Misses 14234 14191 -43 - Partials 8209 8226 +17 
Files with missing linesCoverage Δ
lib/internal/crypto/util.js97.08% <100.00%> (+0.10%)⬆️
src/crypto/crypto_aes.cc54.16% <ø> (+0.34%)⬆️
src/crypto/crypto_aes.h33.33% <ø> (ø)
src/crypto/crypto_argon2.cc64.13% <ø> (ø)
src/crypto/crypto_argon2.h50.00% <ø> (ø)
src/crypto/crypto_chacha20_poly1305.cc58.13% <ø> (ø)
src/crypto/crypto_cipher.cc77.43% <ø> (ø)
src/crypto/crypto_kem.cc80.74% <ø> (ø)
src/crypto/crypto_kem.h33.33% <ø> (ø)
src/crypto/crypto_kmac.cc56.66% <ø> (ø)
... and 7 more

... and 34 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

panva added 3 commits May 15, 2026 09:47
Add OPENSSL_WITH_* feature macros for crypto capabilities that vary by
OpenSSL version and use those instead of repeating version checks.
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
@panva
panvaforce-pushed the make-crypto-boring-again branch from 96d0932 to fbb81c2CompareMay 15, 2026 07:47
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
@panva
panvaforce-pushed the make-crypto-boring-again branch from fbb81c2 to a1d227fCompareMay 15, 2026 09:51
@panvapanva added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. labels May 15, 2026
@github-actionsgithub-actionsBot removed the request-ci Add this label to start a Jenkins CI on a PR. label May 15, 2026
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

nodejs-github-bot commented May 15, 2026

Copy link
Copy Markdown
Collaborator

@panvapanva added dont-land-on-v22.x PRs that should not land on the v22.x-staging branch and should not be released in v22.x. dont-land-on-v24.x PRs that should not land on the v24.x-staging branch and should not be released in v24.x. dont-land-on-v25.x labels May 16, 2026
@panvapanva added the commit-queue Add this label to land a pull request using GitHub Actions. label May 17, 2026
@nodejs-github-botnodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label May 17, 2026
panva added a commit to panva/node that referenced this pull request Jun 19, 2026
Add OPENSSL_WITH_* feature macros for crypto capabilities that vary by
OpenSSL version and use those instead of repeating version checks.
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: nodejs#63255
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
panva added a commit to panva/node that referenced this pull request Jun 19, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: nodejs#63255
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
panva added a commit to panva/node that referenced this pull request Jun 19, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: nodejs#63255
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
panva added a commit to panva/node that referenced this pull request Jun 19, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: nodejs#63255
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
sxa pushed a commit that referenced this pull request Jun 22, 2026
Add OPENSSL_WITH_* feature macros for crypto capabilities that vary by
OpenSSL version and use those instead of repeating version checks.
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: #63255
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
sxa pushed a commit that referenced this pull request Jun 22, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: #63255
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
sxa pushed a commit that referenced this pull request Jun 22, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: #63255
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
sxa pushed a commit that referenced this pull request Jun 22, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: #63255
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
sxa pushed a commit to sxa/node that referenced this pull request Jun 23, 2026
Add OPENSSL_WITH_* feature macros for crypto capabilities that vary by
OpenSSL version and use those instead of repeating version checks.
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: nodejs#63255
Backport-PR-URL: nodejs#63563
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
sxa pushed a commit to sxa/node that referenced this pull request Jun 23, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: nodejs#63255
Backport-PR-URL: nodejs#63563
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
sxa pushed a commit to sxa/node that referenced this pull request Jun 23, 2026
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: nodejs#63255
Backport-PR-URL: nodejs#63563
Refs: electron/electron#36256
Refs: electron/electron#41720
Refs: electron/electron#51127
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author readyPRs that have at least one approval, no pending requests for changes, and a CI started.backported-to-v24.xPRs backported to the v24.x-staging branch.commit-queue-rebaseAdd this label to allow the Commit Queue to land a PR in several commits.cryptoIssues and PRs related to the crypto subsystem.dont-land-on-v22.xPRs that should not land on the v22.x-staging branch and should not be released in v22.x.lib / srcIssues and PRs related to general changes in the lib or src directory.needs-ciPRs that need a full CI run.webcrypto

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@panva@nodejs-github-bot@jasnell@anonrig