rpki-client: rework CRL handling
authortb <tb@openbsd.org>
Wed, 29 May 2024 13:26:24 +0000 (13:26 +0000)
committertb <tb@openbsd.org>
Wed, 29 May 2024 13:26:24 +0000 (13:26 +0000)
commit09383acc57b0f7e232321f510ba55cbc7949f9ba
tree5efc63720fc4e60699f21f99a6f90d2857d19a75
parentba5ad174f4b89249eeb2724491bc0ea7e0d4fa0c
rpki-client: rework CRL handling

There is no benefit in parsing the CRLNumber in the RPKI. It is redundant
with other mechanisms, notably the requirements on manifests. rpki-client
never did anything with the CRL number anyway so stop parsing it in the
main process.

Move CRL AKI and CRL number handling from x509.c to crl.c, slightly improve
error checking for X509_CRL_get_ext_d2i() and only check well-formedness of
the CRL number: check it's there and non-critical. Avoid double warnings.

Add some checks for the well-formedness of the list of revoked certs.
Due to bugs in rpki-rs and Krill we can't reject empty lists (because
~15% of CRL's have this). And some people still use CRLs revoking certs
at the time they expire. This latter point might change mid-2025.

Add a hook for printing CRL numbers in file mode and warn about ill-formed
numbers (negative and overlong ones).

ok claudio job
usr.sbin/rpki-client/crl.c
usr.sbin/rpki-client/extern.h
usr.sbin/rpki-client/print.c
usr.sbin/rpki-client/x509.c