Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

webpki-ccadb: rework TLS distrust after handling #84

Merged
merged 1 commit into from
Nov 13, 2024

Conversation

cpu
Copy link
Member

@cpu cpu commented Nov 13, 2024

Previously we took the aggressive stance of removing a root as soon as it was described in CCADB as having a distrust for TLS after date. There's a good argument that this is more disruptive than helpful.

Instead, remove roots with a distrust after date only once that date plus a grace period of 398 days has past. The grace period is equal to the maximum allowable subscriber certificate lifetime based on the CA/Browser Forum's baseline requirements.

Since we also want to apply some simple local policy to exclude roots unconditionally a simple block list based on the CCADB SHA256 fingerprint is also added to override the above logic to exclude a root when required.

One FP for the GLOBALSIGN 2020 root is added to the block list. We removed this root early because it only has <100 valid certificates in the wild. In this case waiting for the distrust date + grace period would mean keeping the root until Aug 2nd 2025. Adding it to the block list preserves the early removal decision with the new logic.

webpki-ccadb/src/lib.rs Outdated Show resolved Hide resolved
Previously we took the aggressive stance of removing a root as soon as
it was described in CCADB as having a distrust for TLS after date.
There's a good argument[0] that this is more disruptive than helpful.

Instead, remove roots with a distrust after date only once that date
plus a grace period of 398 days has past. The grace period is equal to
the maximum allowable subscriber certificate lifetime based on the
CA/Browser Forum's baseline requirements.

Since we also want to apply some simple local policy to exclude roots
unconditionally a simple block list based on the CCADB SHA256
fingerprint is also added to override the above logic to exclude a root
when required.

One FP for the GLOBALSIGN 2020 root is added to the block list. We
removed this root early because it only has <100 valid certificates in
the wild. In this case waiting for the distrust date + grace period
would mean keeping the root until Aug 2nd 2025.

[0]: https://sslmate.com/blog/post/entrust_distrust_more_disruptive_than_intended
@cpu cpu force-pushed the cpu-adjust-distrust-handling branch from b3f9f20 to 7e3ab27 Compare November 13, 2024 15:14
@cpu cpu merged commit 459297e into rustls:main Nov 13, 2024
1 check passed
@cpu cpu deleted the cpu-adjust-distrust-handling branch November 13, 2024 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants