# csr-gen

[![Latest Version](https://img.shields.io/crates/v/csr-gen.svg)](https://crates.io/crates/csr-gen)

[![Documentation](https://docs.rs/csr-gen/badge.svg)](https://docs.rs/csr-gen)

A SSL CSR generator written in Rust.  Provides both an easy to use command line program,
along with a library that can be reused in other applications.

## Application

To install, run:
```
cargo install csr-gen
```
Then create a configuration file, similar to:

```toml
key="myprivkey.pem"

[csrs]
"csr1.csr" = ["example.com","www.example.com"]
```

You can specify multiple csrs to be created from a single private key in the configuration file.  To generate the csrs, run:
```
csr-gen -c myconfig.toml
```

Afterwards, a new csr in csr1.csr will be present.  You can then submit the csr to your certificate authority for signing.  These csrs
have been tested against Let's Encrypt.

## Library

```toml
# Cargo.toml
[dependencies]
toml = "0.3"
```

The library provides a Config struct that can be filled in with the appropriate information.  You can then call ```Config::generate_csrs```,
passing it the path to a folder to generate the csrs in along with the private key to generate the csr with.

# License

`csr-gen` is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, and LICENSE-MIT for details.
