Skip to main content

Build Status

Crypto Domain Manager

Automate all your cryptographic needs!

Goals

  • Zero downtime
  • Automatic certificate renewal
  • Spam protection
  • Updated DNS records

Configure once and always stay up to date.

Use cases

  • Renew letsencrypt certicates
  • Derive all kinds of data from the signature
  • Ensure everything is secure

External Service APIs

Linux Services

  • DKIM signatures:
    • rspamd
  • Reload systemd services:
    • apache2
    • postfix
    • dovecot
    • rspamd
    • traefik in Docker

Managed DNS Records

No downtime strategy

Updating keys, certifcates and other needs 3 steps to prevent gaps in availabillity:

  1. Prepare: Create certificates, keys etc. and publish corresponding records to DNS.
  2. Rollover: Apply new certificates and keys, because now negative cache TTL on DNS is reached.
  3. Cleanup: Delete all no more needed stuff from disk and DNS.

Needed Plugins and Dependencies

  • dnsuptools: to interface with DNS API -- updating DNS entries
  • dehydrated: to get new certificate (included with cryptdomainmgr)
  • rspamd: to create (and use) DKIM keys

Installation

These libraries are needed for pycurl used by dnsuptools for automatic ip retrieving:

apt install -y libcurl4-openssl-dev libssl-dev

This comman is used by dehydrated to communicate with letsencrypt for certificate renewal:

apt install -y curl

For DKIM we need rspamd:

apt install -y lsb-release wget # optional
CODENAME=`lsb_release -c -s`
wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add -
echo "deb [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list
echo "deb-src [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" >> /etc/apt/sources.list.d/rspamd.list
apt update
apt install -y rspamd

Now install the cryptdomainmgr. This pulls all need dependencies.

python2 -m pip install cryptdomainmgr

Feel free to try python3, but inwx client doesn't support it.

python3 -m pip install cryptdomainmgr

Documentation

We need help here!

For now please look at:

hints:

  • Multiple Configfiles with priority allowed
  • Specify content of config file content as argument

Next goals

  • improve documentation
  • docker support - partly done, ToDo: label handling needed, daemon mode without external shell stript needed
  • website
  • automated tests - partly done
  • nsupdate for DNS updates

Long term goals:

  • ARC key renewal
  • WPIA integration
  • DNSSEC key renewal
  • TXT record (may collide with SPF and other TXT based records)
  • multi server support for one domain: TLSA delete by timeout
  • constrain minimum renewal/phase time interval
  • validations - ensure signatures are used correctly
  • run as service
  • PowerDNS support

Contributions

If you like the project feel free to give me a star. Please let us know if you use this project.

All kind of contributions are welcome.

Download files

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

Source Distribution

cryptdomainmgr-0.2.8.tar.gz (73.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cryptdomainmgr-0.2.8-py3-none-any.whl (77.2 kB view details)

Uploaded Python 3

File details

Details for the file cryptdomainmgr-0.2.8.tar.gz.

File metadata

  • Download URL: cryptdomainmgr-0.2.8.tar.gz
  • Upload date:
  • Size: 73.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for cryptdomainmgr-0.2.8.tar.gz
Algorithm Hash digest
SHA256 f0df23a2f6d7327fc00209918ef3acf215e0264be499a4a3847443ee5dec73c9
MD5 5a8381b92095c9b93600314a4d0d0918
BLAKE2b-256 a662ff42893a8b6dc5d354f94e0ca0fa95a42b8775b80bc2efe9de44b5a8d77e

See more details on using hashes here.

File details

Details for the file cryptdomainmgr-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: cryptdomainmgr-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 77.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for cryptdomainmgr-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1f756dfbeb2bae9ede0350bf6cfd240cb90f21877034f8e0a4d9962215f63256
MD5 24a8a3465e2b8a8c3a4d6d2487358ac3
BLAKE2b-256 cbe7d4ee55eff50de3d957358c083ccfb2608bb4b9a7aca773fa0d30bbf32ee7

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.8 This release

2 files

0.2.7

1 file

0.2.6.post15

2 files

0.2.6.post14

1 file

0.2.6.post13

1 file

0.2.6.post3

1 file

0.2.6

1 file

0.2.5.post22

1 file

0.2.5.post21

1 file

0.2.5.post20

1 file

0.2.5.post19

1 file

0.2.5.post18

1 file

0.2.5.post17

1 file

0.2.5.post16

1 file

0.2.5.post15

1 file

0.2.5.post14

1 file

0.2.5.post13

1 file

0.2.5.post12

1 file

0.2.5.post11

1 file

0.2.5.post10

1 file

0.2.5.post9

1 file

0.2.5.post8

1 file

0.2.5.post7

1 file

0.2.5.post5

1 file

0.2.5.post4

1 file

0.2.5.post3

1 file

0.2.5

1 file

0.2.4.post17

1 file

0.2.4.post16

1 file

0.2.4.post15

1 file

0.2.4.post12

1 file

0.2.4.post9

1 file

0.2.4.post8

1 file

0.2.4.post3

2 files

0.2.3.post61

1 file

0.2.3.post59

1 file

0.2.3.post56

1 file

0.2.3.post53

1 file

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.0.30

2 files

0.0.29

1 file

0.0.28

2 files

0.0.26

2 files

0.0.25

2 files

0.0.24

2 files

0.0.23

2 files

0.0.22

2 files

0.0.21

2 files

0.0.20

2 files

0.0.19

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page