You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Remove or date-limit emSign Root CA - G1 before Mozilla's 2026-11-16 cutoff #67391
Mozilla's change: Mozilla keeps G1 but sets a TLS cutoff of 2026-11-16 23:59:59 UTC. It says TLS certificates issued after that "will be rejected" (bug 2089115).
Node's behavior: since crypto: fix CA trust block parsing #64753, Node's root-cert tool ignores the cutoff, so G1 stays fully trusted. It's in src/node_root_certs.h on main and on the v22.x, v24.x and v26.x branches.
Result: after 11/16, Node will accept new G1 certificates that Mozilla rejects. So will npm, because it uses Node's built-in store.
What is the feature you are proposing to solve the problem?
Remove G1, as Node did for TrustCor. This is the simplest fix, but it also breaks G1 certificates issued before the cutoff.
Reject G1 chains whose certificate was issued after the cutoff, as Node did for StartCom and WoSign. This could go in the hook added by tls: reject chains containing blocked public keys #66871 and matches Mozilla. It needs custom code, and a certificate's issue date can be backdated; Mozilla guards against that with SCT checks.
What alternatives have you considered?
Keep things as they are: Node keeps trusting G1 certificates that Mozilla rejects after 11/16.
Drop G1 in each app: the code below works on Node 22.23.4, 24.22.1 and 26.13.0 (I tested all three). It doesn't help tools like npm that use the default store.
consttls=require('node:tls');const{ X509Certificate }=require('node:crypto');tls.setDefaultCACertificates(tls.getCACertificates('default').filter((pem)=>!newX509Certificate(pem).subject.includes('CN=emSign Root CA - G1')));
Activity
UlisesGascon commentedon Nov 10, 2026
I will have a look into this today/tomorrow