1
0
mirror of https://github.com/moepman/acertmgr.git synced 2024-11-10 18:30:32 +01:00
Commit Graph

107 Commits

Author SHA1 Message Date
Kishi85
c054ecebe9 acertmgr: change the way the issuer CA is fetched
This changes the way the issuer CA is retrieved if no static_ca file is
used. Previously we would always download the CA using the AIA Info but
API v2 provides normally the full chain PEM upon certificate retrieval
and does not need this step. For the APIv2 case we now use the CA
provided with the certificate which required some changes to the basic
handling of CA files. APIv1 has been adapted to this new handling.
APIv2 has a fallback option to the way APIv1 handles it in case no CA
has been provided.
2019-03-21 12:26:32 +01:00
Kishi85
316ecdba2e configuration: Force user to agree to the authorities Terms of Service
Authorities (e.g. Let's Encrypt) usually have Terms of Serivce (ToS)
that have to be agreed to. Up until this point we automatically
indicated agreement to those ToS and sent the necessary value.

This commit changes the behaviour to be in line with recommendations
from Let's Encrypt that the user themselves have to indicate their
agreement by no longer automatically doing so (except for cases of
legacy configuration files to provide compatibility).

The user can now indicate ToS agreement by either setting the associated
configuration variable (authority_tos_agreement) to the required value
and/or providing the required value via a command-line parameter
(--authority-tos-agreement=<value>/--tos-agreement=<value>/--tos=<value>)
2019-03-20 15:31:53 +01:00
Kishi85
784badf54b docs: Update examples and README for ACMEv2 API and other changes 2019-03-20 15:31:53 +01:00
Kishi85
f2567da7fa configuration: Change default API to v2 with Let's Encrypt Endpoint 2019-03-20 15:31:53 +01:00
Kishi85
530256ecec authority.v2: Add ACMEv2 API implementation 2019-03-20 15:31:48 +01:00
Kishi85
d272f9ada3 configuration: fix global config file detection 2019-03-19 12:08:53 +01:00
Kishi85
a93b047275 configuration: use legacy workdir with legacy configuration only 2019-03-19 12:08:53 +01:00
Kishi85
6440ef204a dns.nsupdate: Fix TTL screen output and move TTL to generic dns module 2019-03-19 12:08:53 +01:00
Kishi85
1b95f512ed dns.nsupdate: Simplify key_file key_name lookup 2019-03-18 13:20:45 +01:00
Kishi85
57e955d1f0 configuration: Change default TTL to Let's Encrypt recommendation 2019-03-18 13:13:22 +01:00
Kishi85
53fcc0b2a6 dns.nsupdate: add additional validation for nameserver ip lookup 2019-03-11 19:52:33 +01:00
Kishi85
3f59bb4061 configuration: unify config value parsing 2019-03-07 13:51:08 +01:00
Kishi85
ad70e1abd4 PEP-8 cleanup 2019-02-27 11:36:00 +01:00
Kishi85
b99014c7c3 setup: Add config examples, deploy readme and arch PKGBUILD 2019-02-25 20:31:05 +01:00
Kishi85
dc2144b0d3 setup: add excludes to gitignore 2019-02-25 18:50:52 +01:00
Kishi85
8e0639f62c authority.v1: remove hardcoded agreement data 2019-02-24 19:48:24 +01:00
Kishi85
3562a6a5a3 setup: change long_description content type to markdown 2019-02-23 17:36:27 +01:00
567b1feb4b README: fix whitespace 2019-02-22 11:09:33 +01:00
f853001aea abstract: use NotImplementedError instead of NotImplemented 2019-02-22 10:32:36 +01:00
d6f8f29e82 configuration: use yaml.safe_load instead of load 2019-02-22 10:31:28 +01:00
Kishi85
67c83d8fce configuration: cleanup handling+defaults and add commandline options
This adds a few basic command line parameters to allow further
customization of the configuration locations. As well as defining new
default locations for the acertmgr config files and updating the parser
with missing values, so that the config dictionary provided to the
acertmgr process after parsing is complete and no cross reference to the
configuration module is necessary. The parser error handling is also
improved.
2019-02-20 12:03:40 +01:00
Kishi85
33678aac8e add setup.py to support setuptools (easy_install/pip/etc.) 2019-02-20 11:50:36 +01:00
Kishi85
5d8b0134ea fix broken references from move and add legacy run script 2019-02-20 11:49:30 +01:00
Kishi85
f1f2d5c7cd move everything to package 'acertmgr' 2019-02-20 11:43:44 +01:00
Kishi85
8808dadbaf Optimize imports 2019-02-18 20:45:28 +01:00
Kishi85
da3dc4261f acertmgr: Fix wrong variable (works due to global var at this point) 2019-02-18 20:43:13 +01:00
Kishi85
2dbc7302eb dns.nsupdate: Verify added DNS record 2019-02-15 14:19:15 +01:00
Kishi85
dedb08b759 dns.nsupdate: correctly delete a specific TXT value from DNS 2019-02-15 13:44:12 +01:00
Kishi85
5418a25c1e dns.nsupdate: Change status output order for better debugging 2019-02-15 13:05:19 +01:00
Kishi85
3570baacda standalone: Fix server start+stop with multiple handlers 2019-02-12 10:49:52 +01:00
Kishi85
48a55c0dc4 dns.nsupdate: cleanup + typo fixes 2019-02-12 10:09:43 +01:00
Kishi85
02036f5617 Update README 2019-01-22 16:03:08 +01:00
Kishi85
1ce94491fd Fix python3 compatibility 2019-01-22 16:03:08 +01:00
Kishi85
1c939363c0 Automatically download CA from AIA-data in certificate (fixes github.com/moepman/acertmgr/issues/12) 2019-01-22 16:02:39 +01:00
Kishi85
a135bae583 dns: Add DNS challenge handler using RFC2136 dynamic updates 2019-01-22 15:50:47 +01:00
Kishi85
90b25e2f3b configuration: Split into separate module 2019-01-22 15:50:44 +01:00
Kishi85
39855323aa authority: Refactor into classes to allow implementation of other api 2019-01-22 10:03:43 +01:00
Kishi85
cc3bfb55dd modes: Use classes to easily allow different types of challenge handling 2019-01-22 10:03:39 +01:00
Kishi85
622c4866da Automatically create RSA keys if they are missing 2019-01-22 09:27:05 +01:00
Kishi85
93377fd3a9 Refactor and cleanup codebase 2019-01-08 08:12:20 +01:00
David Klaftenegger
2446b1d3d2 Change certificate cache filename to unique hash
md5 is used because cryptographic strength is irrelevant.
This simply allows storing multiple certificates that have
the same domain name as the first domain in the certificate.
2019-01-07 20:01:20 +01:00
David Klaftenegger
4766102874 Switch from pyopenssl to cryptography
The cryptography module is already a dependency of pyopenssl.
This patch thus just drops the dependency on pyopenssl
and somewhat simplifies the code.
2019-01-07 20:01:17 +01:00
017f55f57c Update agreement URL. 2018-01-14 18:37:27 +01:00
4803376486 Update agreement URL. 2016-09-26 13:10:45 +02:00
60172b7e6e Ingore whitespace in output format definitions. 2016-07-04 20:15:01 +02:00
Ralf Ramsauer
35d9d39b26 Make key location dynamic
Besides the fact that this removes redundant code, hard coded location
of file is generally no good idea

Also adapt README.md and provide a default location for key files.

Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2016-04-15 12:49:33 +02:00
f6f3180617 Improve and clean up the documentation 2016-04-14 18:52:40 +02:00
David Klaftenegger
6c91b03cc6 Minor code improvements 2016-04-14 08:18:51 +02:00
David Klaftenegger
c8a72094d1 Replace openssl call with pyopenssl
The last remaining call to openssl is replaced by an equivalent
call to pyopenssl, which returns a similar string.
The regular expressions are changed to deal with the difference
in the string returned.
2016-04-14 08:18:40 +02:00
David Klaftenegger
c4e1152ed4 Use pyopenssl key format consistently
Replaces a case where keys were handled manually instead of using
pyopenssl wrappers.
2016-04-14 08:18:28 +02:00