pub enum CertRevocationList<'a> {
Owned(OwnedCertRevocationList),
Borrowed(BorrowedCertRevocationList<'a>),
}
Expand description
A RFC 52801 profile Certificate Revocation List (CRL).
May be either an owned, or a borrowed representation.
Variants§
Owned(OwnedCertRevocationList)
An owned representation of a CRL.
Borrowed(BorrowedCertRevocationList<'a>)
A borrowed representation of a CRL.
Implementations§
Source§impl CertRevocationList<'_>
impl CertRevocationList<'_>
Sourcepub fn issuing_distribution_point(&self) -> Option<&[u8]>
pub fn issuing_distribution_point(&self) -> Option<&[u8]>
Return the DER encoded issuing distribution point of the CRL, if any.
Sourcepub fn find_serial(
&self,
serial: &[u8],
) -> Result<Option<BorrowedRevokedCert<'_>>, Error>
pub fn find_serial( &self, serial: &[u8], ) -> Result<Option<BorrowedRevokedCert<'_>>, Error>
Try to find a revoked certificate in the CRL by DER encoded serial number. This may yield an error if the CRL has malformed revoked certificates.
Returns true if the CRL can be considered authoritative for the given certificate.
A CRL is considered authoritative for a certificate when:
- The certificate issuer matches the CRL issuer and,
- The certificate has no CRL distribution points, and the CRL has no issuing distribution point extension.
- Or, the certificate has no CRL distribution points, but the the CRL has an issuing distribution point extension with a scope that includes the certificate.
- Or, the certificate has CRL distribution points, and the CRL has an issuing distribution point extension with a scope that includes the certificate, and at least one distribution point full name is a URI type general name that can also be found in the CRL issuing distribution point full name general name sequence.
- Or, the certificate has CRL distribution points, and the CRL has no issuing distribution point extension.
In all other circumstances the CRL is not considered authoritative.
Sourcepub(crate) fn verify_signature(
&self,
supported_sig_algs: &[&dyn SignatureVerificationAlgorithm],
issuer_spki: Input<'_>,
budget: &mut Budget,
) -> Result<(), Error>
pub(crate) fn verify_signature( &self, supported_sig_algs: &[&dyn SignatureVerificationAlgorithm], issuer_spki: Input<'_>, budget: &mut Budget, ) -> Result<(), Error>
Verify the CRL signature using the issuer certificate and a list of supported signature
verification algorithms, consuming signature operations from the Budget
.