Struct x509_parser::pem::Pem
source · [−]Expand description
Representation of PEM data
Fields
label: String
The PEM label
contents: Vec<u8>
The PEM decoded data
Implementations
sourceimpl Pem
impl Pem
sourcepub fn read(r: impl BufRead + Seek) -> Result<(Pem, usize), PEMError>
pub fn read(r: impl BufRead + Seek) -> Result<(Pem, usize), PEMError>
Read the next PEM-encoded structure, and decode the base64 data
Returns the certificate (encoded in DER) and the number of bytes read. Allocates a new buffer for the decoded data.
Note that a PEM file can contain multiple PEM blocks. This function returns the
first decoded object, starting from the current reader position.
To get all objects, call this function repeatedly until PEMError::MissingHeader
is returned.
Examples
let file = std::fs::File::open("assets/certificate.pem").unwrap();
let subject = x509_parser::pem::Pem::read(std::io::BufReader::new(file))
.unwrap().0
.parse_x509().unwrap()
.tbs_certificate.subject.to_string();
assert_eq!(subject, "CN=lists.for-our.info");
sourcepub fn parse_x509(&self) -> Result<X509Certificate<'_>, Err<X509Error>>
pub fn parse_x509(&self) -> Result<X509Certificate<'_>, Err<X509Error>>
Decode the PEM contents into a X.509 object
sourcepub fn iter_from_buffer(i: &[u8]) -> PemIterator<Cursor<&[u8]>>ⓘNotable traits for PemIterator<R>impl<R: BufRead + Seek> Iterator for PemIterator<R> type Item = Result<Pem, PEMError>;
pub fn iter_from_buffer(i: &[u8]) -> PemIterator<Cursor<&[u8]>>ⓘNotable traits for PemIterator<R>impl<R: BufRead + Seek> Iterator for PemIterator<R> type Item = Result<Pem, PEMError>;
Returns an iterator over the PEM-encapsulated parts of a buffer
Only the sections enclosed in blocks starting with -----BEGIN xxx-----
and ending with -----END xxx-----
will be considered.
Lines before, between or after such blocks will be ignored.
The iterator is fallible: next()
returns a Result<Pem, PEMError>
object.
An error indicates a block is present but invalid.
If the buffer does not contain any block, iterator will be empty.
sourcepub fn iter_from_reader<R: BufRead + Seek>(reader: R) -> PemIterator<R>ⓘNotable traits for PemIterator<R>impl<R: BufRead + Seek> Iterator for PemIterator<R> type Item = Result<Pem, PEMError>;
pub fn iter_from_reader<R: BufRead + Seek>(reader: R) -> PemIterator<R>ⓘNotable traits for PemIterator<R>impl<R: BufRead + Seek> Iterator for PemIterator<R> type Item = Result<Pem, PEMError>;
Returns an iterator over the PEM-encapsulated parts of a reader
Only the sections enclosed in blocks starting with -----BEGIN xxx-----
and ending with -----END xxx-----
will be considered.
Lines before, between or after such blocks will be ignored.
The iterator is fallible: next()
returns a Result<Pem, PEMError>
object.
An error indicates a block is present but invalid.
If the reader does not contain any block, iterator will be empty.
Trait Implementations
impl StructuralPartialEq for Pem
Auto Trait Implementations
impl RefUnwindSafe for Pem
impl Send for Pem
impl Sync for Pem
impl Unpin for Pem
impl UnwindSafe for Pem
Blanket Implementations
sourceimpl<'a, T, E> AsTaggedExplicit<'a, E> for T where
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for T where
T: 'a,
sourceimpl<'a, T, E> AsTaggedImplicit<'a, E> for T where
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for T where
T: 'a,
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more