Much of the work to support full mdoc authentication is covered by #42 and this branch.
However CRL endpoint checking is still required. To facilitate this we will need a function that takes an IACA certificate and a document signer certificate. The function should validate the CRLs according to the profile defined in Annex B of 18013-5. The function should respond with an "Outcome" struct that informs the caller which if any of the certificates are revoked.
For example, something along the lines of:
pub struct Outcome {
iaca_revoked: Option<bool>,
ds_revoked: Option<bool>,
errors: Vec<Error>,
}
pub async fn validate_crl(iaca: x509_cert::TbsCertificate, ds: x509::TbsCertificate) -> Outcome {
...
}
Much of the work to support full mdoc authentication is covered by #42 and this branch.
However CRL endpoint checking is still required. To facilitate this we will need a function that takes an IACA certificate and a document signer certificate. The function should validate the CRLs according to the profile defined in Annex B of 18013-5. The function should respond with an "Outcome" struct that informs the caller which if any of the certificates are revoked.
For example, something along the lines of: