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© 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
62addd4e10
Initial commit
2016-01-10 15:00:43 +01:00