use crate::der_parser::Oid;
use crate::policy::{PolicyEvaluationResult, ValidationPolicy};
use crate::unverified_chain::UnverifiedCertificateChain;
pub struct OneOfPolicies<P> {
policy: P,
}
impl<P> OneOfPolicies<P> {
pub fn new(policy: P) -> Self {
Self { policy }
}
}
impl<P: ValidationPolicy> ValidationPolicy for OneOfPolicies<P> {
fn verifying_critical_extensions(&self) -> Vec<Oid<'static>> {
self.policy
.verifying_critical_extensions()
}
fn chain_meets_policy_requirements(
&self,
chain: &UnverifiedCertificateChain<'_>,
) -> PolicyEvaluationResult {
self.policy
.chain_meets_policy_requirements(chain)
}
}