]>
Commit | Line | Data |
---|---|---|
6c12f97b | 1 | # dehydrated [![Build Status](https://travis-ci.org/lukas2511/dehydrated.svg?branch=master)](https://travis-ci.org/lukas2511/dehydrated) |
64e35463 LS |
2 | |
3 | ![](docs/logo.jpg) | |
61f0b7ed | 4 | |
6086983c | 5 | *Note: This project was renamed from letsencrypt.sh because the original name was violating Let's Encrypts trademark policy. I know that this results in quite a lot of installations failing but I didn't have a choice... For now there is a wrapper script for compatibility with old config locations and symlinks, but it will be removed in a few weeks.* |
b95b15ca | 6 | |
6086983c | 7 | 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. |
274e8e41 LS |
8 | |
9 | It uses the `openssl` utility for everything related to actually handling keys and certificates, so you need to have that installed. | |
10 | ||
6086983c | 11 | Other dependencies are: cURL, sed, grep, mktemp (all found on almost any system, cURL being the only exception) |
274e8e41 LS |
12 | |
13 | Current features: | |
14 | - Signing of a list of domains | |
429ec400 | 15 | - Signing of a CSR |
e45f28bb | 16 | - Renewal if a certificate is about to expire or SAN (subdomains) changed |
12c566b1 | 17 | - Certificate revocation |
274e8e41 | 18 | |
6086983c | 19 | 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. |
0d7913ab | 20 | |
12c77ca5 LS |
21 | ### Getting started |
22 | ||
23 | For getting started I recommend taking a look at [docs/domains_txt.md](docs/domains_txt.md), [docs/wellknown.md](docs/wellknown.md) and the [Usage](#usage) section on this page (you'll probably only need the `-c` option). | |
24 | ||
25 | Generally you want to set up your WELLKNOWN path first, and then fill in domains.txt. | |
26 | ||
6086983c | 27 | **Please note that you should use the staging URL when experimenting with this script to not hit Let's Encrypt's rate limits.** See [docs/staging.md](docs/staging.md). |
12c77ca5 LS |
28 | |
29 | If you have any problems take a look at our [Troubleshooting](docs/troubleshooting.md) guide. | |
30 | ||
0d7913ab LS |
31 | ## Usage: |
32 | ||
8662a000 | 33 | ```text |
ec49a443 | 34 | Usage: ./dehydrated [-h] [command [argument]] [parameter [argument]] [parameter [argument]] ... |
0d7913ab | 35 | |
083c6736 | 36 | Default command: help |
8662a000 LS |
37 | |
38 | Commands: | |
083c6736 | 39 | --cron (-c) Sign/renew non-existant/changed/expiring certificates. |
429ec400 | 40 | --signcsr (-s) path/to/csr.pem Sign a given CSR, output CRT on stdout (advanced usage) |
8662a000 | 41 | --revoke (-r) path/to/cert.pem Revoke specified certificate |
63b61b89 | 42 | --cleanup (-gc) Move unused certificate files to archive directory |
8662a000 LS |
43 | --help (-h) Show help text |
44 | --env (-e) Output configuration variables for use in other scripts | |
45 | ||
46 | Parameters: | |
624ce443 | 47 | --full-chain (-fc) Print full chain when using --signcsr |
364bcccf | 48 | --ipv4 (-4) Resolve names to IPv4 addresses only |
49 | --ipv6 (-6) Resolve names to IPv6 addresses only | |
92a822e0 | 50 | --domain (-d) domain.tld Use specified domain name(s) instead of domains.txt entry (one certificate!) |
624ce443 | 51 | --keep-going (-g) Keep going after encountering an error while creating/renewing multiple certificates in cron mode |
92a822e0 | 52 | --force (-x) Force renew of certificate even if it is longer valid than value in RENEW_DAYS |
bd9cc5b0 | 53 | --no-lock (-n) Don't use lockfile (potentially dangerous!) |
8e77ba5e | 54 | --ocsp Sets option in CSR indicating OCSP stapling to be mandatory |
8662a000 | 55 | --privkey (-p) path/to/key.pem Use specified private key instead of account key (useful for revocation) |
d5b28586 | 56 | --config (-f) path/to/config Use specified config file |
ed27e013 | 57 | --hook (-k) path/to/hook.sh Use specified script for hooks |
785ffa55 | 58 | --out (-o) certs/directory Output certificates into the specified directory |
e925b293 | 59 | --challenge (-t) http-01|dns-01 Which challenge should be used? Currently http-01 and dns-01 are supported |
63b61b89 | 60 | --algo (-a) rsa|prime256v1|secp384r1 Which public key algorithm should be used? Supported: rsa, prime256v1 and secp384r1 |
0d7913ab | 61 | ``` |