1
0
mirror of https://github.com/moepman/acertmgr.git synced 2024-11-16 02:59:13 +01:00
Commit Graph

51 Commits

Author SHA1 Message Date
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
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
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
David Klaftenegger
af17847cac refactoring ACME protocol code
This patch breaks up the ACME protocol code into functions for account
registration, key/certificate file handling, and helpers for ACME
protocol communication.
2016-04-14 08:17:50 +02:00
77d3d1caf2 Fix error message wording 2016-04-12 11:55:22 +02:00
Ralf Ramsauer
62a6084905 Adjust permissions of certificates
For the internal store of certificates in the configuration directory, a
permission of user read only is absolutely sufficient

Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2016-04-12 11:55:17 +02:00
Ralf Ramsauer
6b7f1ebfe0 acertmgr.py: use os.path.join() instead of string concatenations
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2016-04-12 11:55:12 +02:00
David Klaftenegger
2ad472b6b5 remove obsolete import 2016-04-12 11:54:57 +02:00
David Klaftenegger
9624f8c704 Only execute actions once
instead of once per domain
2016-04-12 11:54:52 +02:00
David Klaftenegger
dc83df8d97 Prevent failure when target file is missing 2016-04-12 11:54:47 +02:00
David Klaftenegger
6599c49476 Avoid race condition which is triggered when debugging misconfigurations 2016-04-12 11:54:42 +02:00
David Klaftenegger
2dbae6673a Make it a configuration option which ACME authority is used 2016-04-12 11:54:37 +02:00
David Klaftenegger
025e238213 handle correctly when no action is defined 2016-04-12 11:54:09 +02:00
David Klaftenegger
c2383d1d2c correctly handle multiple domain names 2016-04-12 11:53:43 +02:00
David Klaftenegger
a4c0bd6357 Change copyright information 2016-04-12 11:53:37 +02:00
David Klaftenegger
661115a508 replace acme-tiny
using a pyopenssl implementation of the same functionality instead
2016-04-12 11:53:32 +02:00
David Klaftenegger
9dc7941658 Refactor ssl functionality
use pyopenssl for certificate validty and requests
2016-04-12 11:53:27 +02:00
David Klaftenegger
e39c3cf298 Refactor webserver into separate file 2016-04-12 11:53:22 +02:00
David Klaftenegger
ffb4fde1c6 Adds support for SubjectAltName in CSR generation
To use this feature, add multiple domain names in the configuration,
separated by spaces
2016-04-12 11:53:15 +02:00
53d2ad4bf6 Actually add actions to the set. 2016-04-12 11:53:08 +02:00
David Klaftenegger
f16868bb6c replace target files based on timestamp
instead of relying on the cached certificate file being updated.
This allows multiple configuration files for the same domain.
To avoid replacing existing entries, the format is changed from
a dictionary to a list, and setting domains in acme.conf is no
longer supported.
2016-04-12 11:52:57 +02:00
2202fe867b Fix error if default values are empty. 2016-04-12 11:52:29 +02:00
23b70c798c New format: ca to be able to create cert-chains. 2016-04-12 11:52:23 +02:00
0346a6b492 Fix accidentally removed TODO. 2016-04-12 11:52:18 +02:00
2500b044f1 Rename notify to action and execute them only once. 2016-04-12 11:52:12 +02:00
David Klaftenegger
55f340bebd indentation error
fixes one instance of space-indentation instead of tab-indentation
2016-04-12 11:52:06 +02:00
David Klaftenegger
b396f0bb07 Check result of file metadata changes
Changing ownership and permissions is not supported on all filesystems.
This patch prints a warning whenever it fails to set these properties,
but continues without a fatal error.
2016-04-12 11:52:00 +02:00
David Klaftenegger
e8c82197a9 Use whichever python is available
The code is not specific to python2, so any python should do
2016-04-12 11:51:54 +02:00
David Klaftenegger
abba505c9f standalone webserver mode
This patch adds the ability to start a simple
webserver that is sufficient to solve the ACME
challenge.
2016-04-12 11:51:42 +02:00
60ae8f2452 Implement cert_put and use live API 2016-04-12 11:51:23 +02:00
29fba6e161 More fine grained TODOs for cert_put 2016-04-12 11:51:09 +02:00
0cc6556df0 Implement check&copy in cert_get 2016-04-12 11:51:03 +02:00
4089faa997 Improve error handling and tempfile creation 2016-04-12 11:50:56 +02:00
bd8b672e75 Use challenge dir from configuration 2016-04-12 11:50:50 +02:00
David Klaftenegger
a614df5d3a Add checks for errors during certificate creation 2016-04-12 11:49:47 +02:00
David Klaftenegger
d2a47fbd6a Fixes exception types 2016-04-12 11:49:36 +02:00
David Klaftenegger
39720d7fee Improve checks for required files 2016-04-12 11:49:07 +02:00
0ab3919d73 Acutally invoke acme_tiny (using the staging API) 2016-04-12 11:48:38 +02:00
1e745b94ea More checks (e.g. for acme_tiny) 2016-04-12 11:48:21 +02:00
David Klaftenegger
5c58580585 Adds some different small improvements
Add a check that the server key is present
Add a check for temporaty file conflicts
Use python3-compatible functions
Skip more things when there is nothing to be done
Add a few more comments/TODOs
2016-04-12 11:47:22 +02:00
57440e1513 Handle empty domain config 2016-04-12 11:46:57 +02:00
c7efda7b61 Split cert_get into cert_get and cert_put 2016-04-12 11:46:50 +02:00
54787d1513 Refactor cert_isValid, minor improvements 2016-04-12 11:46:42 +02:00
David Klaftenegger
363c69c9b8 Add minor functionality and code comments 2016-04-12 11:45:56 +02:00
933c2e8ed1 Minor code and documentation improvements 2016-01-10 15:48:16 +01:00