1 use const_oid::{db::rfc5280::ID_CE_POLICY_CONSTRAINTS, AssociatedOid, ObjectIdentifier}; 2 use der::Sequence; 3 4 /// Policy constraints extension as defined in [RFC 5280 Section 4.2.1.11]. 5 /// 6 /// ```text 7 /// PolicyConstraints ::= SEQUENCE { 8 /// requireExplicitPolicy [0] SkipCerts OPTIONAL, 9 /// inhibitPolicyMapping [1] SkipCerts OPTIONAL 10 /// } 11 /// ``` 12 /// 13 /// [RFC 5280 Section 4.2.1.11]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.11 14 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] 15 #[allow(missing_docs)] 16 pub struct PolicyConstraints { 17 #[asn1(context_specific = "0", optional = "true", tag_mode = "IMPLICIT")] 18 pub require_explicit_policy: Option<u32>, 19 20 #[asn1(context_specific = "1", optional = "true", tag_mode = "IMPLICIT")] 21 pub inhibit_policy_mapping: Option<u32>, 22 } 23 24 impl AssociatedOid for PolicyConstraints { 25 const OID: ObjectIdentifier = ID_CE_POLICY_CONSTRAINTS; 26 } 27 28 impl_extension!(PolicyConstraints, critical = true); 29