Skip to content

ACME Let's Encrypt client for opensrs DNS

License

Notifications You must be signed in to change notification settings

mhmd3bdo/le-opensrs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

le-opensrs

let's encrypt client to automate issuing and reissuing wildcard [Let's Encrypt] (https://letsencrypt.org/) certificates with opensrs API DNS , this script will retreive challenge from Let's Encrypt and will update it , in opensrs DNS , and the will ask Let's Encrypt to verify the challenge.

note

for this script to work , you have to use opensrs nameservers

How to use this script

First you have to generate a private key to use it as account key for ACME using openssl

openssl genrsa 4096 > le-opensrs/account.key

make modification to crt.cnf that fits your needs

[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
req_extensions     = req_ext
prompt             = no
[ req_distinguished_name ]
countryName                 = SD
stateOrProvinceName         = KH
localityName               = KH
organizationName           = Organization
commonName                 = example.com
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1   = example.com
DNS.2   = *.example.com

then you have to genrate the CSR for you desired domain

openssl req -out le-opensrs/domain.csr -newkey rsa:2048 -nodes -keyout le-opensrs/domain.key -config le-opensrs/crt.cnf

edit config file with your settings

Contacts = mailto:yourmail@yourdomain.com
[opensrs]
#your opensrs reseller username
reseller_username = example

#remember to whitelist the public ip to acess the API
# connection configuration for opensrs .. default is live connection parameter
api_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
api_host_port = https://rr-n1-tor.opensrs.net:55443

Finally run the main script in le-opensrs ./le-opensrs.py

This will generate the certificate in PEM format

  • Tip: Use cronjob to run the script periodcly for certs renewal

About

ACME Let's Encrypt client for opensrs DNS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages