Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes from upstream #7

Merged
merged 67 commits into from Sep 19, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
61083cf
disable globbing globally (only allow for cleanup routine)
lukas2511 Feb 2, 2018
45f5c17
fixed altname extraction of csr with wildcard domains, moved altname …
lukas2511 Feb 2, 2018
7a0e71c
follow location on http get-requests
lukas2511 Feb 3, 2018
7274434
added acmev2 information to readme
lukas2511 Feb 3, 2018
6d02bfd
shrink "logo" a bit
lukas2511 Feb 3, 2018
0bc0bd1
Fix globbing of CONFIG_D *.sh files.
GUI Feb 3, 2018
fb41783
automatic discovery of remote acme api version
lukas2511 Feb 5, 2018
b53cb66
moved manpage to docs directory
lukas2511 Feb 6, 2018
62d37c9
Fix grammer error in the manpage (fixes #466)
mapreri Jan 19, 2018
87194f6
Remove additional whitespace from extract_altnames
lukas2511 Feb 6, 2018
9c35fce
Pre-generate timestamp outside of sign_domain
lukas2511 Feb 6, 2018
73a116e
Create required certificate and chaincache directories outside of sig…
lukas2511 Feb 6, 2018
b5de2e2
sign_domain: Use existing CSR with matching timestamp
lukas2511 Feb 6, 2018
901f9f7
pre-bump version
lukas2511 Feb 6, 2018
63854b7
New hook: generate_csr (see example hook script for more information,…
lukas2511 Feb 6, 2018
83bf266
added a few simple example use cases to example hook script
lukas2511 Feb 6, 2018
da67297
only write csr file if renewal will be requested
lukas2511 Feb 6, 2018
dec5ad5
read url to terms of service from ca directory
lukas2511 Feb 6, 2018
082ed17
added acmev2 staging information to docs
lukas2511 Feb 6, 2018
a7b2af2
http_request: make http headers available on fd 4
lukas2511 Feb 6, 2018
ad29120
fetch account information if missing
lukas2511 Feb 6, 2018
9ebab3e
added call to random hook to make it clear to hook authors that unkno…
lukas2511 Feb 6, 2018
be252c7
updated changelog
lukas2511 Feb 6, 2018
2eedd69
request_failure hook: added http response headers as new parameter
lukas2511 Feb 6, 2018
5940c55
prepared future migration to new acmev2 endpoint
lukas2511 Feb 6, 2018
bc34f3a
merged random hook with human-readable-message
lukas2511 Feb 13, 2018
0ade30c
hook-bricker now also warns users on per-certificate-config-hooks
lukas2511 Feb 13, 2018
dcdb294
removed random prefix from hook bricker
lukas2511 Feb 14, 2018
a6e6aa7
fixed spurious return code from hook bricker...
lukas2511 Feb 14, 2018
a6a0777
fixed "sed: invalid option -- 'E'"
edieterich Feb 22, 2018
a91074b
fixed undefined-variable bug on early connection failure (while acces…
lukas2511 Feb 22, 2018
c0bcf91
show error details on ocsp update failure
lukas2511 Feb 22, 2018
6827464
curl: use custom user agent (temporarily using a bit of 1337)
lukas2511 Mar 1, 2018
0211d24
require a valid alias to be set for certain wildcard certificates (fi…
lukas2511 Mar 2, 2018
6e802dd
include content-type in post requests (fixes #491)
lukas2511 Mar 9, 2018
fd3fc8a
release 0.6.0
lukas2511 Mar 11, 2018
8a414e5
prepare for next version
lukas2511 Mar 11, 2018
947dbb9
use new acme-v02 endpoint by default
lukas2511 Mar 13, 2018
70d261a
release v0.6.1
lukas2511 Mar 13, 2018
e374d21
prepare for next version
lukas2511 Mar 13, 2018
b93eac3
fixed CA url in example config
lukas2511 Mar 13, 2018
2533931
don't walk certificate chain for ACMEv2 (certificate contains chain b…
lukas2511 Mar 14, 2018
6083218
removed some unused code
lukas2511 Mar 15, 2018
b116e6b
close weird external file descriptors
lukas2511 Mar 15, 2018
9f1ff67
removed dual use of challenge_identifiers variable (fixes #511)
lukas2511 Mar 17, 2018
7c40c72
Improve documentation on wildcards
Mar 14, 2018
ff18d39
strip validationRecord from challenge before grepping for "url" strin…
lukas2511 Mar 18, 2018
981179a
hail hydra! 🐙
lukas2511 Mar 24, 2018
537877a
allow for widely-used non-standard CSR label (fixes #488)
lukas2511 Mar 25, 2018
ea46aee
fixed cleanup for invalid challenges
lukas2511 Apr 8, 2018
a678164
also run request_failure and invalid_challenge when HOOK_CHAIN is def…
lukas2511 Apr 8, 2018
13b8a3f
fix date in man page
danimo Mar 19, 2018
2fca309
Add ocsp_update hook
Mar 17, 2018
8ba56a8
renamed ocsp hook to deploy_ocsp, exported altnames, added example hook
lukas2511 Apr 8, 2018
0262997
also call clean_challenge hook for http-01 challenges (fixes #536)
lukas2511 Apr 13, 2018
dff7d4e
allow registration using cli-specified private key (#534)
lukas2511 Apr 13, 2018
ba59287
fix behaviour for fetching missing additional account information wit…
lukas2511 Apr 13, 2018
53c458c
fix parameter
EmTeedee Apr 14, 2018
52c2c19
added workaround for use with advanced filesystem ACLs (as originally…
lukas2511 Apr 20, 2018
89de83c
add explanation on HEADERS parameter to request_failure hook (fixes #…
lukas2511 Apr 25, 2018
ce3d658
release 0.6.2
lukas2511 Apr 25, 2018
b5dddd7
prepare for next version
lukas2511 Apr 27, 2018
9165cfd
added dns-txt-foo to troubleshooting.md
lukas2511 May 1, 2018
2a8af8f
made ocsp refresh interval configurable
lukas2511 May 7, 2018
e4e712c
Fixes #559 : when HTTP/2 is used, header names are lower case. So add…
May 9, 2018
10d4b98
Only match Replace-Nonce header at beginning of line
lukas2511 May 9, 2018
fba49ba
implemented initial support for tls-alpn-01 verification
lukas2511 Jul 26, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
30 changes: 30 additions & 0 deletions CHANGELOG
Expand Up @@ -3,10 +3,40 @@ This file contains a log of major changes in dehydrated

## [x.x.x] - xxxx-xx-xx
## Changed
- OCSP refresh interval is now configurable

## Added
- Initial support for tls-alpn-01 validation

## [0.6.2] - 2018-04-25
## Added
- New deploy_ocsp hook
- Allow account registration with custom key

## Changed
- Don't walk certificate chain for ACMEv2 (certificate contains chain by default)
- Improved documentation on wildcards

## Fixes
- Added workaround for compatibility with filesystem ACLs
- Close unwanted external file-descriptors
- Fixed JSON parsing on force-renewal
- Fixed cleanup of challenge files/dns-entries on validation errors
- A few more minor fixes

## [0.6.1] - 2018-03-13
## Changed
- Use new ACME v2 endpoint by default

## [0.6.0] - 2018-03-11
## Changed
- Challenge validation loop has been modified to loop over authorization identifiers instead of altnames (ACMEv2 + wildcard support)
- Removed LICENSE parameter from config (terms of service is now acquired directly from the CA directory)

## Added
- Support for ACME v02 (including wildcard certificates!)
- New hook: generate_csr (see example hook script for more information)
- Calling random hook on startup to make it clear to hook script authors that unknown hooks should just be ignored...

## [0.5.0] - 2018-01-13
## Changed
Expand Down
23 changes: 13 additions & 10 deletions README.md
Expand Up @@ -2,19 +2,21 @@

![](docs/logo.jpg)

This is a client for signing certificates with an ACME-server (currently only provided by Let's Encrypt) implemented as a relatively simple bash-script.
Dehydrated is a client for signing certificates with an ACME-server (e.g. Let's Encrypt) implemented as a relatively simple (zsh-compatible) bash-script.
This client supports both ACME v1 and the new ACME v2 including support for wildcard certificates!

It uses the `openssl` utility for everything related to actually handling keys and certificates, so you need to have that installed.

Other dependencies are: cURL, sed, grep, mktemp (all found on almost any system, cURL being the only exception)
Other dependencies are: cURL, sed, grep, awk, mktemp (all found pre-installed on almost any system, cURL being the only exception).

Current features:
- Signing of a list of domains
- Signing of a CSR
- Renewal if a certificate is about to expire or SAN (subdomains) changed
- Signing of a list of domains (including wildcard domains!)
- Signing of a custom CSR (either standalone or completely automated using hooks!)
- Renewal if a certificate is about to expire or defined set of domains changed
- Certificate revocation

Please keep in mind that this software and even the acme-protocol are relatively young and may still have some unresolved issues. Feel free to report any issues you find with this script or contribute by submitting a pull request.
Please keep in mind that this software, the ACME-protocol and all supported CA servers out there are relatively young and there might be a few issues. Feel free to report any issues you find with this script or contribute by submitting a pull request,
but please check for duplicates first (feel free to comment on those to get things rolling).

## Getting started

Expand Down Expand Up @@ -72,6 +74,7 @@ Parameters:
--config (-f) path/to/config Use specified config file
--hook (-k) path/to/hook.sh Use specified script for hooks
--out (-o) certs/directory Output certificates into the specified directory
--alpn alpn-certs/directory Output alpn verification certificates into the specified directory
--challenge (-t) http-01|dns-01 Which challenge should be used? Currently http-01 and dns-01 are supported
--algo (-a) rsa|prime256v1|secp384r1 Which public key algorithm should be used? Supported: rsa, prime256v1 and secp384r1
```
Expand All @@ -86,12 +89,12 @@ Without those hobbies I probably would never have started working on dehydrated
I'd really appreciate if you could [donate a bit of money](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=23P9DSJBTY7C8)
so I can buy cool stuff (while still being able to afford food :D).

If you have hardware laying around that you think I'd enjoy playing with (e.g. decomissioned but still modern-ish servers,
If you have hardware laying around that you think I'd enjoy playing with (e.g. decommissioned but still modern-ish servers,
10G networking hardware, enterprise grade routers or APs, interesting ARM/MIPS boards, etc.) and that you would be willing
to ship to me please contact me at `donations@dehydrated.de` or on Twitter [@lukas2511](https://twitter.com/lukas2511).
to ship to me please contact me at `donations@dehydrated.io` or on Twitter [@lukas2511](https://twitter.com/lukas2511).

If you want your name to be added to the [donations list](https://dehydrated.de/donations.html) please add a note or send me an
email `donations@dehydrated.de`. I respect your privacy and won't publish your name without permission.
If you want your name to be added to the [donations list](https://dehydrated.io/donations.html) please add a note or send me an
email `donations@dehydrated.io`. I respect your privacy and won't publish your name without permission.

Other ways of donating:
- [My Amazon Wishlist](http://www.amazon.de/registry/wishlist/1TUCFJK35IO4Q)
Expand Down