x509-certificate 0.2.0

X.509 certificate parser and utility functionality
Documentation
# x509-certificate

`x509-certificate` is a library crate for interfacing with X.509 certificates.
It supports the following:

* Parsing certificates from BER, DER, and PEM.
* Serializing certificates to BER, DER, and PEM.
* Defining common algorithm identifiers.
* Generating new certificates.
* Verifying signatures on certificates.
* And more.

**This crate has not undergone a security audit. It does not
employ many protections for malformed data when parsing certificates.
Use at your own risk. See additional notes in `src/lib.rs`.**

`x509-certificate` is part of the
[PyOxidizer](https://github.com/indygreg/PyOxidizer.git) project and
this crate is developed in that repository.

## Developing

The root of the repository is a Cargo workspace and has a lot of members.
The dependency tree for the entire repo is massive and `cargo build` likely
will fail due to Python dependency weirdness.

For best results, `cd x509-certificate` and run commands there. Or
`cargo build -p x509-certificate`, `cargo test -p x509-certificate`, etc.

This crate is used throughout this repository. If you want to build/run
the workspace, try
`cargo build --workspace --exclude oxidized-importer --exclude pyembed`
to exclude the crates most often causing build troubles. The `pyoxidizer`
and `tugger` crates have an expensive test harness and dependency tree and
can also be excluded.

Generally, the following crates are sensitive to changes in this one:

* `cryptographic-message-syntax`
* `tugger-apple-codesign`
* `tugger-code-signing`
* `tugger-windows-codesign`

If build + tests pass on these crates, there's a good chance the entire
workspace is happy.