Skip to main content

An ACMEv2 client. Fork of acme-nosudo.

Project description

acmens

A fork of acme-nosudo. It uses ACMEv2 protocol and requires Python 3.

acmens may be used for getting a new SSL certificate, renewing a SSL certificate for a domain, and revoking a certificate for a domain.

It's meant to be run locally from your computer.

prerequisites

  • openssl or libressl
  • python3
  • pip
  • virtualenv (if you want to use the repo version)

installation

pip install acmens

Or, if you would like to use the repo version:

cd /path/to/acmens

# init virtual environment
make venv

# activate virtual environment
. .venv/bin/activate

# put acmens in your PATH
make develop
# note that any changes you make to acmens.py will be instantly reflected
# in the acmens in your PATH.

getting/renewing a certificate

First, generate an user account key for Let's Encrypt:

openssl genrsa -aes256 4096 > user.key
openssl rsa -in user.key -pubout > user.pub

Next, generate the domain key and a certificate request:

# Generate domain key
openssl genrsa -aes256 -out domain.key 4096

# Generate CSR for a single domain
openssl req -new -sha256 -key domain.key -out domain.csr

# Or Generate CSR for multiple domains
openssl req -new -sha256 -key domain.key -subj "/" -addext "subjectAltName = DNS:example.com, DNS:www.example.com" > domain.csr

Lastly, run acmens:

acmens --account-key user.key --email mail@example.com --csr domain.csr > signed.crt

dns challenge

If you want to use the DNS challenge type provide it using the --challenge flag.

acmens --account-key user.key --email mail@example.com --challenge dns --csr domain.csr > signed.crt

This will prompt you to update the DNS records to add a TXT record.

revoking a certificate

This:

acmens --revoke -k user.key --crt signed.crt

will revoke SSL certificate in signed.crt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acmens-0.3.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

acmens-0.3.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file acmens-0.3.0.tar.gz.

File metadata

  • Download URL: acmens-0.3.0.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acmens-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1dc88300e308e0237cfbc49e2dbc6803facf09adf60c25c4f5411c52f29eb19c
MD5 7c0df7ed41afe32144b0b4fa9886fb70
BLAKE2b-256 3b83f4f85ed80a7ea655b681deb952db48ef7a55e3e32dab149961e9919b3e70

See more details on using hashes here.

File details

Details for the file acmens-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: acmens-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acmens-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 07cb2b5ab8257da8c54a13b883112f29489c2616d65e2b8299b17b4a22089c2e
MD5 dc1593e13a4578e3f53a0c412c7df4b2
BLAKE2b-256 c9faa91e5f8046ea3d04f511ce4e43df76b541a16761c1a81b9d71e48ce9b05e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page