webpki-ccadb: rework TLS distrust after handling #84
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.