Tracking issue: custom CA certificate support
Open
Nobody has claimed this yet.
crypto
meta
never-stale
tls
- Dominant language
- JavaScript
- Stars
- 122k
- Forks
- 37.3k
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 283
Description
Trying to track the recent changes that allow easier configuration of custom CA certificate for constrained environments and the backports
- Support
--use-system-cafor macOS https://github.com/nodejs/node/pull/56599 - Support
--use-system-cafor Windows https://github.com/nodejs/node/pull/56833 - Support
--use-system-cafor other Unix-like platforms: https://github.com/nodejs/node/pull/57009 - JS API to query CA certificates: https://github.com/nodejs/node/pull/57107
- JS API to configure the CA certificates https://github.com/nodejs/node/pull/58822
- Encouraging use of
--use-system-cain certificate errors: https://github.com/nodejs/node/pull/57362 - Fixing leak of
--use-system-cahttps://github.com/nodejs/node/pull/56832 - Add NODE_USE_SYSTEM_CA=1 https://github.com/nodejs/node/pull/59276
- Load system CA certificates off thread https://github.com/nodejs/node/pull/59550
- Only load certificates off thread when tls is used https://github.com/nodejs/node/pull/59856
- Make
--use-system-caa per-env option so that workers can enable/disable them individually https://github.com/nodejs/node/pull/60678 - Graceful handling of invalid certificates: https://github.com/nodejs/node/pull/61784 https://github.com/nodejs/node/pull/62576
- Implement certificate distrust on Windows to match Chromium's policy: https://github.com/nodejs/node/blob/5623194a6b16192084d2753a80c350c4ae3dec24/src/crypto/crypto_context.cc#L647-L648
- Make NODE_USE_SYSTEM_CA=0 disable system CA if it gets enabled by default
- Provide a build-time option to enable
--use-system-caby default - Enable --use-system-ca by default
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the remaining unchecked items in this tracking issue, starting with the referenced certificate handling location in src/crypto/crypto_context.cc around line 647 and the linked PRs 61784 and 62576. Compare the completed and outstanding entries to understand the intended scope. Done means the remaining listed certificate behaviors and options are implemented and the corresponding checklist items can be checked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- operating-systems, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100