Commit Graph

6 Commits

Author SHA1 Message Date
Jacob Hoffman-Andrews 050d6bfaa4
Check for CRLDistributionPoint in certificates. (#78)
If a certificate has a CRLDistributionPoint, it will be stored in the
database in a new "DP" column.

At check time, each CRL must have exactly one IssuingDistributionPoint.
When a certificate is seen, its CRLDistributionPoint (if any) will be
compared to the IssuingDistributionPoint of the CRL it was seen on. If
they differ, error.
2025-02-07 17:43:14 -05:00
Matthew McPherrin edad2ec60f
Update boulder to release-2023-12-11 (#27)
This un-forks crypto/x509 with the CRL changes boulder upstreamed.
2023-12-20 18:00:16 -05:00
Matthew McPherrin fbc8b1f28f
Sample a subset of certificates in CRL to check expiry (#16)
Because we need to call an API per serial number, this is causing slow
execution time.  Instead, randomly sample up to a maximum number of
certificates per CRL.  The count is loaded from the BOULDER_MAX_FETCH
environment variable if set, and is unlimited otherwise.
2023-01-16 10:58:37 -05:00
Matthew McPherrin ad8a051a16
Avoid issuance package in boulder (#15)
We want to build lambdas without CGO, but the `issuance` package requires it.
We only need the NameID() method, so we can extract it as a free function here instead.

This updates Boulder to incorporate the changes there to crl/checker: https://github.com/letsencrypt/boulder/pull/6518

Co-authored-by: Jacob Hoffman-Andrews <github@hoffman-andrews.com>
2022-12-05 20:51:31 -05:00
Matthew McPherrin 1de19b10e9
Look up issuers by object name (#13)
This allows a single lambda configuration to monitor multiple issuers,
so we can monitor all the intermediates in a bucket in a single
configuration.
2022-11-17 15:10:31 -07:00
Matthew McPherrin eee552ebf3
Add CRL Checker (#11)
This adds the core of the CRL checker. The checker is what actually
examines CRLs.

The command-line program is nearly what will drive this as a lambda once
s3 event handling code is added, but is suitable for use in dev right
now. It successfully lints current CRLs and alerts on early removal from
our old CRLs during the previous incident.

Some fixups to other parts of code to make this work:
- Return aws.EndpointNotFound error in resolver so the sdk handles it
properly
- Don't make any API request to delete 0 certs
- Log every 100 certs fetched
2022-11-14 12:27:23 -05:00