use der::Decode;
use x509_cert::Certificate as X509Certificate;
use crate::error::AdesError;
#[derive(Debug, Clone)]
pub struct Certificate {
inner: X509Certificate,
der: Vec<u8>,
}
impl Certificate {
pub fn from_der(der: &[u8]) -> Result<Self, AdesError> {
let inner = X509Certificate::from_der(der)?;
Ok(Self {
inner,
der: der.to_vec(),
})
}
#[must_use]
pub fn to_der(&self) -> &[u8] {
&self.der
}
#[must_use]
pub fn inner(&self) -> &X509Certificate {
&self.inner
}
}