Conversation
cffcfc7 to
3296986
Compare
9b9ecfb to
b6fdc4c
Compare
0be9872 to
ce03d2a
Compare
| let json = rsp.text().await?; | ||
| let data = serde_json::from_str::<AllCertificateRecordsResponse>(&json)?; | ||
| for info in data.data { | ||
| if info.certificate_data.valid_to < today || info.trusted(store) != StoreStatus::Trusted |
There was a problem hiding this comment.
I think the StoreStatus decision might be more complicated. I think for some roots that are trusted, they're marked as "Included" and not "Trusted" (?)
Like:
{
"CCADBUniqueID": "A010979",
"CertificateName": "A-Trust-Root-09",
"CertificateRecordType": "Root Certificate",
"SHA256Fingerprint": "7A38F708A35A31E42E1CF3220F9A2D273E7666354618B2464657D43D8E77ADC2",
"ValidFrom": "2023-02-21",
"ValidTo": "2036-07-14",
"MicrosoftStatus": "Included",
"TLSCapable": true,
"JSONArrayOfAllFullCRLURLs": "[\"http://crl.a-trust.at/crl/A-Trust-Root-09\"]"
}
There was a problem hiding this comment.
Yeah, I've been emailing with @BenWilson-Mozilla and was going to ask about that...
|
@ctz I think you used an earlier version of this PR, before it worked backwards. Perhaps your code should turn into a test in this crate (oh no, you wrote it in Python, didn't you?), like we have in rustls-native-certs? |
|
Here's a big table of all CRLs I can find referenced from fetching every CA's test site, compared against the list produced here.
Not sure of the reasons for the discrepancies yet. |
|
I changed the code to allow both |
ctz
left a comment
There was a problem hiding this comment.
(Haven't rechecked the above analysis, but I'm assuming a) adding more hosts is benign for this use b) the number of actual gaps were small, so any move that involves more hosts will probably fix the entire issue.)
For
The hosts in CCADB currently don't seem to be giving me CRL host for Google Trust Services...This was because I was filtering on"notBeforeYear": 2026but that ignored a bunch of older, still active roots.List of hosts found
cc @complexspaces