-
-
Notifications
You must be signed in to change notification settings - Fork 34.2k
Open
Labels
cryptoIssues and PRs related to the crypto subsystem.Issues and PRs related to the crypto subsystem.performanceIssues and PRs related to the performance of Node.js.Issues and PRs related to the performance of Node.js.tlsIssues and PRs related to the tls subsystem.Issues and PRs related to the tls subsystem.
Description
The root certificates are currently baked into the binary as PEM - basically base64-encoded binary data.
On startup, node dutifully turns each of the ~140 certifcates into a X509 instance with PEM_read_bio_X509(), which decodes the PEM to DER before passing it to d2i_X509().
You can see where this is going: it's a lot more efficient to store the certificates as DER and pass them to d2i_X509() directly.
One caveat: tls.rootCertificates is documented to be an array of PEM strings. Can be fixed by turning the DER objects into PEM in GetRootCertificates() in src/crypto/crypto_context.cc.
Metadata
Metadata
Assignees
Labels
cryptoIssues and PRs related to the crypto subsystem.Issues and PRs related to the crypto subsystem.performanceIssues and PRs related to the performance of Node.js.Issues and PRs related to the performance of Node.js.tlsIssues and PRs related to the tls subsystem.Issues and PRs related to the tls subsystem.