Fixes #7212 This PR forbid os.stat and os.fstat, and fix or provide alternatives to avoid its usage in certbot outside of certbot.compat.filesystem. * Reimplement private key mode propagation * Remove other os.stat * Remove last call of os.stat in certbot package * Forbid stat and fstat * Implement mode comparison checks * Add unit tests * Update certbot/compat/filesystem.py Co-Authored-By: Brad Warren <bmw@users.noreply.github.com> * Update certbot/compat/filesystem.py Co-Authored-By: Brad Warren <bmw@users.noreply.github.com> * Handle case where multiple ace concerns a given SID in has_min_permissions * Add a new test scenario * Add a simple test for has_same_ownership * Fix name function * Add a comment explaining an ACE structure * Move a test in its dedicated class * Improve a message error * Calculate has_min_permission result using effective permission rights to be more generic. * Change an exception message * Add comments, avoid to skip a test. * Update certbot/compat/filesystem.py Co-Authored-By: Brad Warren <bmw@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| certbot_dns_route53 | ||
| docs | ||
| examples | ||
| tools | ||
| .gitignore | ||
| LICENSE.txt | ||
| local-oldest-requirements.txt | ||
| MANIFEST.in | ||
| README.md | ||
| readthedocs.org.requirements.txt | ||
| setup.cfg | ||
| setup.py | ||
Route53 plugin for Let's Encrypt client
Before you start
It's expected that the root hosted zone for the domain in question already exists in your account.
Setup
-
Create a virtual environment
-
Update its pip and setuptools (
VENV/bin/pip install -U setuptools pip) to avoid problems with cryptography's dependency on setuptools>=11.3. -
Make sure you have libssl-dev and libffi (or your regional equivalents) installed. You might have to set compiler flags to pick things up (I have to use
CPPFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/libon my macOS to pick up brew's openssl, for example). -
Install this package.
How to use it
Make sure you have access to AWS's Route53 service, either through IAM roles or
via .aws/credentials. Check out
sample-aws-policy.json for the necessary permissions.
To generate a certificate:
certbot certonly \
-n --agree-tos --email DEVOPS@COMPANY.COM \
--dns-route53 \
-d MY.DOMAIN.NAME