use alloc::vec::Vec;
use der::asn1::BitString;
use der::Sequence;
use crate::body::PkiBody;
use crate::header::{CmpCertificate, PkiHeader};
#[derive(Clone, Debug, Eq, PartialEq, Sequence)]
#[allow(missing_docs)]
pub struct PkiMessage<'a> {
pub header: PkiHeader<'a>,
pub body: PkiBody<'a>,
#[asn1(
context_specific = "0",
tag_mode = "EXPLICIT",
constructed = "false",
optional = "true"
)]
pub protection: Option<PkiProtection>,
#[asn1(
context_specific = "1",
tag_mode = "EXPLICIT",
constructed = "true",
optional = "true"
)]
pub extra_certs: Option<Vec<CmpCertificate>>,
}
pub type PkiMessages<'a> = Vec<PkiMessage<'a>>;
pub type PkiProtection = BitString;
#[derive(Clone, Debug, Eq, PartialEq, Sequence)]
#[allow(missing_docs)]
pub struct ProtectedPart<'a> {
pub header: PkiHeader<'a>,
pub body: PkiBody<'a>,
}