pub trait Document<'a>: AsRef<[u8]> + Sized + TryFrom<Vec<u8>, Error = Error> {
type Message: Decodable<'a> + Encodable + Sized;
const SENSITIVE: bool;
// Provided methods
fn as_der(&self) -> &[u8] ⓘ { ... }
fn to_der(&self) -> Box<[u8]> { ... }
fn decode(&'a self) -> Self::Message { ... }
fn from_der(bytes: &[u8]) -> Result<Self> { ... }
fn from_msg(msg: &Self::Message) -> Result<Self> { ... }
fn from_pem(s: &str) -> Result<Self>
where Self: PemLabel { ... }
fn to_pem(&self, line_ending: LineEnding) -> Result<String>
where Self: PemLabel { ... }
fn read_der_file(path: impl AsRef<Path>) -> Result<Self> { ... }
fn read_pem_file(path: impl AsRef<Path>) -> Result<Self>
where Self: PemLabel { ... }
fn write_der_file(&self, path: impl AsRef<Path>) -> Result<()> { ... }
fn write_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding
) -> Result<()>
where Self: PemLabel { ... }
}
Expand description
ASN.1 DER-encoded document.
This trait is intended to impl on types which contain an ASN.1 DER-encoded
document which is guaranteed to encode as the associated Message
type.
It implements common functionality related to encoding/decoding such documents, such as PEM encapsulation as well as reading/writing documents from/to the filesystem.
Required Associated Types§
Required Associated Constants§
Provided Methods§
sourcefn from_der(bytes: &[u8]) -> Result<Self>
fn from_der(bytes: &[u8]) -> Result<Self>
Create a new document from the provided ASN.1 DER bytes.
sourcefn to_pem(&self, line_ending: LineEnding) -> Result<String>where
Self: PemLabel,
fn to_pem(&self, line_ending: LineEnding) -> Result<String>where
Self: PemLabel,
Encode ASN.1 DER document as a PEM string.
sourcefn read_der_file(path: impl AsRef<Path>) -> Result<Self>
fn read_der_file(path: impl AsRef<Path>) -> Result<Self>
Read ASN.1 DER document from a file.
sourcefn read_pem_file(path: impl AsRef<Path>) -> Result<Self>where
Self: PemLabel,
fn read_pem_file(path: impl AsRef<Path>) -> Result<Self>where
Self: PemLabel,
Read PEM-encoded ASN.1 DER document from a file.
sourcefn write_der_file(&self, path: impl AsRef<Path>) -> Result<()>
fn write_der_file(&self, path: impl AsRef<Path>) -> Result<()>
Write ASN.1 DER document to a file.
sourcefn write_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding
) -> Result<()>where
Self: PemLabel,
fn write_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding
) -> Result<()>where
Self: PemLabel,
Write PEM-encoded ASN.1 DER document to a file.
Object Safety§
This trait is not object safe.