Skip to content
/ ucerts Public

Create and renew your TLS certificates and private CAs

License

Notifications You must be signed in to change notification settings

goten4/ucerts

Repository files navigation

uCerts - Automated private TLS Certificate Management Tool

uCerts is a powerful and user-friendly tool designed to simplify the generation of private TLS certificates, including self-signed root CAs, and manage their automatic renewal. With uCerts, you can streamline the process of securing your applications with trusted certificates, ensuring data integrity and secure communication.

Go Report Card Build Status codecov release Releases

Features

  • Certificate Generation: Easily generate private TLS certificates and self-signed root Certificate Authorities(CAs) for your applications.
  • Automated Renewal: uCerts takes care of the automatic renewal of managed certificates, ensuring your services remain secure without manual intervention.
  • Configurable Options: Customize certificate attributes and settings according to your application's requirements.

Installation

uCerts is available on Linux, FreeBSD, macOS and Windows platforms.

  • Binaries for Linux, FreeBSD, Windows and Mac are available as tarballs in the release page.

  • Via a Go install

go install github.com/goten4/uCerts

Configuration

uCerts requires a configuration file, the supported extensions are: json, toml, yaml, yml, properties, props, prop, hcl, tfvars, dotenv, env, ini.

You will find an example configuration file in yaml at example/etc/config.yaml.

In this configuration file, you must specify the path or paths to the Certificate Requests. These are files that describe the parameters of the certificates that uCerts needs to generate and renew. You will find examples of Certificate Requests in the directory example/tls/requests.

Run

Usage

Usage:
  ucerts [flags]
  ucerts [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     print version and exit

Flags:
  -c, --config string   provides the configuration file
  -h, --help            help for ucerts

Use "ucerts [command] --help" for more information about a command.

Systemd

[Unit]
Description=uCerts Private TLS Certificate Management Tool
After=network.target

[Service]
Type=simple
User=ucerts
Group=ucerts
WorkingDirectory=/opt/ucerts
ExecStart=/opt/ucerts/bin/ucerts -c /opt/ucerts/etc/config.yaml
Restart=always

[Install]
WantedBy=default.target

Example

To test the example files:

$ make build
$ ./ucerts -c example/etc/config.yaml

Contributions

Contributions to uCerts are welcome! If you find a bug or have an enhancement in mind, please submit an issue or a pull request.

License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.

About

Create and renew your TLS certificates and private CAs

Resources

License

Stars

Watchers

Forks

Packages

No packages published