Struct x509_parser::certificate::X509CertificateParser [−][src]
pub struct X509CertificateParser { /* fields omitted */ }
Expand description
X.509 Certificate parser
This object is a parser builder, and allows specifying parsing options.
Currently, the only option is to control deep parsing of X.509v3 extensions:
a parser can decide to skip deep-parsing to be faster (the structure of extensions is still
parsed, and the contents can be parsed later using the from_der
method from individual extension objects).
This object uses the nom::Parser
trait, which must be imported.
Example
To parse a certificate without parsing extensions:
use x509_parser::certificate::X509CertificateParser;
use x509_parser::nom::Parser;
// create a parser that will not parse extensions
let mut parser = X509CertificateParser::new()
.with_deep_parse_extensions(false);
let res = parser.parse(DER);
match res {
Ok((_rem, x509)) => {
let subject = x509.subject();
let issuer = x509.issuer();
println!("X.509 Subject: {}", subject);
println!("X.509 Issuer: {}", issuer);
},
_ => panic!("x509 parsing failed: {:?}", res),
}
Implementations
Trait Implementations
A parser takes in input type, and returns a Result
containing
either the remaining input and the output value, or an error Read more
Maps a function over the result of a parser
Creates a second parser from the output of the first one, then apply over the rest of the input
Applies a second parser over the output of the first one
Applies a second parser after the first one, return their results as a tuple
Applies a second parser over the input if the first one failed
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for X509CertificateParser
impl Send for X509CertificateParser
impl Sync for X509CertificateParser
impl Unpin for X509CertificateParser
impl UnwindSafe for X509CertificateParser
Blanket Implementations
Mutably borrows from an owned value. Read more