A X.509 v3 ([RFC5280]) parser, implemented with the nom parser combinator framework.
The code is available on Github and is part of the Rusticata project.
The main parsing method is parse_x509_der
, which takes a DER-encoded
certificate as input, and builds a X509Certificate
object.
For PEM-encoded certificates, use the pem
module.
Parsing a certificate in DER format:
```rust,norun use x509parser::parsex509der;
static IGCADER: &'static [u8] = includebytes!("../assets/IGC_A.der");
let res = parsex509der(IGCADER); match res { Ok((rem, cert)) => { assert!(rem.isempty()); // asserteq!(cert.tbscertificate.version, 2); }, _ => panic!("x509 parsing failed: {:?}", res), } ```
Pem::read
time_to_expiration
to Validity
objectPem
object from BufRead + Seek
Pem
to decode and extract certificateparse_subject_public_key_info
publicsn2oid
(get an OID by short name)Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.