pub struct Validator<'a, P> { /* private fields */ }Expand description
Validates an X.509 certificate chain against a set of root certificates and
a ValidationPolicy, using the crypto backend selected by this crate’s
feature flags.
let validator = x509_validator::Validator::with_policy(roots, policy);Implementations§
Source§impl<'a, P> Validator<'a, P>where
P: ValidationPolicy,
impl<'a, P> Validator<'a, P>where
P: ValidationPolicy,
Sourcepub fn with_policy_and_backend(
root_certificates: CertificateStore<'a>,
policy: P,
crypto: &'a dyn SignatureVerifier,
) -> Self
pub fn with_policy_and_backend( root_certificates: CertificateStore<'a>, policy: P, crypto: &'a dyn SignatureVerifier, ) -> Self
Creates a validator with the given root certificates, policy and backend.
- Parameters:
- root_certificates: The trusted root certificates.
- policy: The verification policy.
Sourcepub fn with_policy(root_certificates: CertificateStore<'a>, policy: P) -> Self
pub fn with_policy(root_certificates: CertificateStore<'a>, policy: P) -> Self
Creates a validator with the given root certificates and policy, using the crypto backend selected by this crate’s feature flags.
- Parameters:
- root_certificates: The trusted root certificates.
- policy: The verification policy.
§Panics
Validation panics unless exactly one backend feature is enabled, since
no single default backend can be determined otherwise; see
crate::crypto::default_provider.
Sourcepub fn validate(
&self,
leaf: &Certificate<'a>,
intermediates: &CertificateStore<'a>,
) -> ChainValidationResult<'a>
pub fn validate( &self, leaf: &Certificate<'a>, intermediates: &CertificateStore<'a>, ) -> ChainValidationResult<'a>
Validates a leaf certificate by building chains through intermediate certificates to the root store.
- Parameters:
- leaf: The leaf certificate to validate.
- intermediates: A store of intermediate certificates that may form part of the chain.
- Returns: A
ChainValidationResultindicating whether the certificate is valid.
Sourcepub fn validate_with_diagnostics(
&self,
leaf: &Certificate<'a>,
intermediates: &CertificateStore<'a>,
diagnostic_callback: &mut dyn FnMut(VerificationDiagnostic<'a>),
) -> ChainValidationResult<'a>
pub fn validate_with_diagnostics( &self, leaf: &Certificate<'a>, intermediates: &CertificateStore<'a>, diagnostic_callback: &mut dyn FnMut(VerificationDiagnostic<'a>), ) -> ChainValidationResult<'a>
Validates a leaf certificate by building chains through intermediate certificates to the root store, reporting each step to a callback.
- Parameters:
- leaf: The leaf certificate to validate.
- intermediates: A store of intermediate certificates that may form part of the chain.
- diagnostic_callback: A closure invoked with diagnostic events during validation.
- Returns: A
ChainValidationResultindicating whether the certificate is valid.