Page MenuHomeFreeBSD

caroot: Ignore soft distrust of server CA certificates after 398 days
ClosedPublic

Authored by michaelo on Thu, Feb 20, 9:55 AM.
Tags
None
Referenced Files
F112547933: D49075.diff
Wed, Mar 19, 4:56 PM
Unknown Object (File)
Mon, Mar 10, 4:52 PM
Unknown Object (File)
Mon, Mar 10, 4:00 PM
Unknown Object (File)
Mon, Mar 10, 11:09 AM
Unknown Object (File)
Sat, Mar 8, 3:34 PM
Unknown Object (File)
Fri, Mar 7, 5:40 AM
Unknown Object (File)
Tue, Mar 4, 3:47 PM
Unknown Object (File)
Tue, Mar 4, 12:34 PM
Subscribers

Details

Summary

Mozilla introduced the field CKA_NSS_SERVER_DISTRUST_AFTER which indicates that
a CA certificate will be distrusted in the future before its NotAfter time.
This means that the CA stops issuing new certificates, but previous ones are
still valid, but at most for 398 days after the distrust date.

See also:

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Please add other reviewers as you think appropriate.

michaelo retitled this revision from secure/caroot: Ignore soft distrust of server CA certificates to caroot: Ignore soft distrust of server CA certificates.Thu, Feb 20, 11:14 AM

Folks, any objections? I'd like to update the system trust store after that.

Yes, this is a rather sophisticated one. I need to figure out how to implement this in perl especially whether it requires additional packages from CPAN or not. Go has the magic built in, Perl has not. I believe that Mozilla will remove the CA beyond that date anyway. I wonder why should bother. If you want to, I can try implement, will take a bit of time. My Perl skills are very rusty (no pun intended).

Distrust after 398 days as requested by @emaste

michaelo retitled this revision from caroot: Ignore soft distrust of server CA certificates to caroot: Ignore soft distrust of server CA certificates after 398 days.Wed, Mar 5, 10:03 AM
michaelo edited the summary of this revision. (Show Details)

I'd like to MFC it after a week.

Current output:

perl /var/osipovmi/Projekte/freebsd/src/secure/caroot/MAca-bundle.pl -i certdata.txt -o /var/osipovmi/Projekte/freebsd/src/secure/caroot/trusted
line : Entrust.net Premium 2048 Secure Server CA ser #0: distrust 398 days after 2024-11-30T23:59:59Z, now: 2025-03-05T09:58:29Z -> distrust 0
line : Entrust Root Certification Authority ser #0: distrust 398 days after 2024-11-30T23:59:59Z, now: 2025-03-05T09:58:29Z -> distrust 0
line 801: no explicit trust/distrust found for Certum Root CA
line 3062: no explicit trust/distrust found for OISTE WISeKey Global Root GA CA
line 3062: AffirmTrust Commercial ser #0: distrust 398 days after 2024-11-30T23:59:59Z, now: 2025-03-05T09:58:29Z -> distrust 0
line 3062: AffirmTrust Networking ser #0: distrust 398 days after 2024-11-30T23:59:59Z, now: 2025-03-05T09:58:29Z -> distrust 0
line 3062: AffirmTrust Premium ser #0: distrust 398 days after 2024-11-30T23:59:59Z, now: 2025-03-05T09:58:29Z -> distrust 0
line 3062: AffirmTrust Premium ECC ser #0: distrust 398 days after 2024-11-30T23:59:59Z, now: 2025-03-05T09:58:29Z -> distrust 0
line 9537: no explicit trust/distrust found for Staat der Nederlanden Root CA - G3
line 9537: Entrust Root Certification Authority - G2 ser #0: distrust 398 days after 2024-11-30T23:59:59Z, now: 2025-03-05T09:58:29Z -> distrust 0
line 9537: Entrust Root Certification Authority - EC1 ser #0: distrust 398 days after 2024-11-30T23:59:59Z, now: 2025-03-05T09:58:29Z -> distrust 0
line 12109: no explicit trust/distrust found for D-TRUST Root CA 3 2013
line 14743: no explicit trust/distrust found for Entrust Root Certification Authority - G4
line 16230: no explicit trust/distrust found for GlobalSign Secure Mail Root R45
line 16345: no explicit trust/distrust found for GlobalSign Secure Mail Root E45
line 16345: GLOBALTRUST 2020 ser #0: distrust 398 days after 2024-06-30T00:00:00Z, now: 2025-03-05T09:58:29Z -> distrust 0
...

I wonder why should bother.

Wasn't sure it was necessary, just looked at the links for more context and thought that was an elegant way to handle it.

$year + 100 makes me sad :(

This revision is now accepted and ready to land.Wed, Mar 5, 2:27 PM

$year + 100 makes me sad :(

Why? gmtime/localtime is a offset of 1900 and the certdata.txt uses unfortunately a two-digit year.

I will leave other a few more days to review.

certdata.txt uses unfortunately a two-digit year

Yeah, that's the sad part

certdata.txt uses unfortunately a two-digit year

Yeah, that's the sad part

People tend to reinvent the wheel although there is ISO 8601...