Adjust on how CRL and MFT files are verified.
authorclaudio <claudio@openbsd.org>
Tue, 19 Apr 2022 09:52:29 +0000 (09:52 +0000)
committerclaudio <claudio@openbsd.org>
Tue, 19 Apr 2022 09:52:29 +0000 (09:52 +0000)
commit23bc08f8ba561b111db7061e6b2781cdaa1cabc9
treec1aa97168103d4bd35fb1d4cafcb8f856df4191f
parent606807d48f77a9e98016dda2cd681c2886f3d15a
Adjust on how CRL and MFT files are verified.

Verify the CRL referenced from the mft against the mft's fileAndHash info.
If the CRL matches then load it and use it to validate this mft. If the
mft validated OK add the now also valid CRL to the auth store for later use.

Before the newest CRL was always selected but that has negative consequences
because it is common practice to revoke the previous MFT's EE cert and with
that the cache is turned useless as soon as a new CRL is used. Also there
was a possibility that the CRL used for validation of the MFT was not the
one later used.

Both RFC6486 and draft-ietf-sidrops-6486bis are unclear about this part
of the validation process. We opted in favor of the chached MFT.

With and OK tb@
usr.sbin/rpki-client/extern.h
usr.sbin/rpki-client/main.c
usr.sbin/rpki-client/mft.c
usr.sbin/rpki-client/parser.c
usr.sbin/rpki-client/validate.c