Categorygithub.com/jaztec/simplcert
repositorypackage
0.5.5
Repository: https://github.com/jaztec/simplcert.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

Go Report Card Status

SimplCERT

The certificate manager is meant to easily generate keys pairs for mTLS purposes. It will generate it's own root certificate and use that to sign server and client certificates that can later be used to secure gRPC over mTLS for instance.

Usage

Exporting the root certificate path is handy so you don't have to provide it to every call

$ export SCM_ROOT_CERT_PATH=/path/to/directory/for/root/cert

verify will check if the root certificate exists and if not, will create one

$ simplcert verify

root-crt will display the root certificate as PEM encoded string to the terminal.

$ simplcert root-crt

create will create a certificate. You can use CLI flags or just run create and fill in the prompts. It is important to know the --host flag needs to be set to the domain name where the service will be reached. Or, if Docker is used, the --host flag should be set to the name of the docker container.

$ simplcert create \
  --root-cert-path /path/to/root-ca \
  --host hostname.tld \
  --name "My server" \
  --days-valid 30 \
  --ecdsa \
  --is-server

Usage examples

See examples folder for some examples:

Roadmap

StatusTargetDescription
Add examplesHave an example folder displaying a working setup
Add more signing optionsRSA, DSA etc. (now only ecdsa is supported
Write output to fileAdd additional flag to write output to file instead of stdout
Add Rust exampleAdd an example on how to use the certs in a Rust gRPC application
OpenAdd leaf certsCross sign with dedicated leaf certs for server and client validations