|
|
@ -79,6 +79,7 @@ https://github.com/Neilpang/acmetest
|
|
|
|
|
|
|
|
|
|
|
|
- Webroot mode
|
|
|
|
- Webroot mode
|
|
|
|
- Standalone mode
|
|
|
|
- Standalone mode
|
|
|
|
|
|
|
|
- Standalone tls-alpn mode
|
|
|
|
- Apache mode
|
|
|
|
- Apache mode
|
|
|
|
- Nginx mode
|
|
|
|
- Nginx mode
|
|
|
|
- DNS mode
|
|
|
|
- DNS mode
|
|
|
@ -225,8 +226,20 @@ acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com
|
|
|
|
|
|
|
|
|
|
|
|
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
|
|
|
|
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 5. Use Standalone ssl server to issue cert
|
|
|
|
|
|
|
|
|
|
|
|
# 5. Use Apache mode
|
|
|
|
**(requires you to be root/sudoer or have permission to listen on port 443 (TCP))**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Port `443` (TCP) **MUST** be free to listen on, otherwise you will be prompted to free it and try again.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
acme.sh --issue --alpn -d example.com -d www.example.com -d cp.example.com
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 6. Use Apache mode
|
|
|
|
|
|
|
|
|
|
|
|
**(requires you to be root/sudoer, since it is required to interact with Apache server)**
|
|
|
|
**(requires you to be root/sudoer, since it is required to interact with Apache server)**
|
|
|
|
|
|
|
|
|
|
|
@ -246,7 +259,7 @@ We don't want to mess your apache server, don't worry.**
|
|
|
|
|
|
|
|
|
|
|
|
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
|
|
|
|
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
|
|
|
|
|
|
|
|
|
|
|
|
# 6. Use Nginx mode
|
|
|
|
# 7. Use Nginx mode
|
|
|
|
|
|
|
|
|
|
|
|
**(requires you to be root/sudoer, since it is required to interact with Nginx server)**
|
|
|
|
**(requires you to be root/sudoer, since it is required to interact with Nginx server)**
|
|
|
|
|
|
|
|
|
|
|
@ -270,7 +283,7 @@ We don't want to mess your nginx server, don't worry.**
|
|
|
|
|
|
|
|
|
|
|
|
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
|
|
|
|
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
|
|
|
|
|
|
|
|
|
|
|
|
# 7. Automatic DNS API integration
|
|
|
|
# 8. Automatic DNS API integration
|
|
|
|
|
|
|
|
|
|
|
|
If your DNS provider supports API access, we can use that API to automatically issue the certs.
|
|
|
|
If your DNS provider supports API access, we can use that API to automatically issue the certs.
|
|
|
|
|
|
|
|
|
|
|
@ -348,7 +361,7 @@ If your DNS provider is not on the supported list above, you can write your own
|
|
|
|
|
|
|
|
|
|
|
|
For more details: [How to use DNS API](dnsapi)
|
|
|
|
For more details: [How to use DNS API](dnsapi)
|
|
|
|
|
|
|
|
|
|
|
|
# 8. Use DNS manual mode:
|
|
|
|
# 9. Use DNS manual mode:
|
|
|
|
|
|
|
|
|
|
|
|
See: https://github.com/Neilpang/acme.sh/wiki/dns-manual-mode first.
|
|
|
|
See: https://github.com/Neilpang/acme.sh/wiki/dns-manual-mode first.
|
|
|
|
|
|
|
|
|
|
|
@ -384,7 +397,7 @@ Ok, it's done.
|
|
|
|
|
|
|
|
|
|
|
|
**Please use dns api mode instead.**
|
|
|
|
**Please use dns api mode instead.**
|
|
|
|
|
|
|
|
|
|
|
|
# 9. Issue ECC certificates
|
|
|
|
# 10. Issue ECC certificates
|
|
|
|
|
|
|
|
|
|
|
|
`Let's Encrypt` can now issue **ECDSA** certificates.
|
|
|
|
`Let's Encrypt` can now issue **ECDSA** certificates.
|
|
|
|
|
|
|
|
|
|
|
@ -416,7 +429,7 @@ Valid values are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 10. Issue Wildcard certificates
|
|
|
|
# 11. Issue Wildcard certificates
|
|
|
|
|
|
|
|
|
|
|
|
It's simple, just give a wildcard domain as the `-d` parameter.
|
|
|
|
It's simple, just give a wildcard domain as the `-d` parameter.
|
|
|
|
|
|
|
|
|
|
|
@ -426,7 +439,7 @@ acme.sh --issue -d example.com -d '*.example.com' --dns dns_cf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 11. How to renew the certs
|
|
|
|
# 12. How to renew the certs
|
|
|
|
|
|
|
|
|
|
|
|
No, you don't need to renew the certs manually. All the certs will be renewed automatically every **60** days.
|
|
|
|
No, you don't need to renew the certs manually. All the certs will be renewed automatically every **60** days.
|
|
|
|
|
|
|
|
|
|
|
@ -443,7 +456,7 @@ acme.sh --renew -d example.com --force --ecc
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 12. How to stop cert renewal
|
|
|
|
# 13. How to stop cert renewal
|
|
|
|
|
|
|
|
|
|
|
|
To stop renewal of a cert, you can execute the following to remove the cert from the renewal list:
|
|
|
|
To stop renewal of a cert, you can execute the following to remove the cert from the renewal list:
|
|
|
|
|
|
|
|
|
|
|
@ -456,7 +469,7 @@ The cert/key file is not removed from the disk.
|
|
|
|
You can remove the respective directory (e.g. `~/.acme.sh/example.com`) by yourself.
|
|
|
|
You can remove the respective directory (e.g. `~/.acme.sh/example.com`) by yourself.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 13. How to upgrade `acme.sh`
|
|
|
|
# 14. How to upgrade `acme.sh`
|
|
|
|
|
|
|
|
|
|
|
|
acme.sh is in constant development, so it's strongly recommended to use the latest code.
|
|
|
|
acme.sh is in constant development, so it's strongly recommended to use the latest code.
|
|
|
|
|
|
|
|
|
|
|
@ -481,25 +494,25 @@ acme.sh --upgrade --auto-upgrade 0
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 14. Issue a cert from an existing CSR
|
|
|
|
# 15. Issue a cert from an existing CSR
|
|
|
|
|
|
|
|
|
|
|
|
https://github.com/Neilpang/acme.sh/wiki/Issue-a-cert-from-existing-CSR
|
|
|
|
https://github.com/Neilpang/acme.sh/wiki/Issue-a-cert-from-existing-CSR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 15. Under the Hood
|
|
|
|
# 16. Under the Hood
|
|
|
|
|
|
|
|
|
|
|
|
Speak ACME language using shell, directly to "Let's Encrypt".
|
|
|
|
Speak ACME language using shell, directly to "Let's Encrypt".
|
|
|
|
|
|
|
|
|
|
|
|
TODO:
|
|
|
|
TODO:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 16. Acknowledgments
|
|
|
|
# 17. Acknowledgments
|
|
|
|
|
|
|
|
|
|
|
|
1. Acme-tiny: https://github.com/diafygi/acme-tiny
|
|
|
|
1. Acme-tiny: https://github.com/diafygi/acme-tiny
|
|
|
|
2. ACME protocol: https://github.com/ietf-wg-acme/acme
|
|
|
|
2. ACME protocol: https://github.com/ietf-wg-acme/acme
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 17. License & Others
|
|
|
|
# 18. License & Others
|
|
|
|
|
|
|
|
|
|
|
|
License is GPLv3
|
|
|
|
License is GPLv3
|
|
|
|
|
|
|
|
|
|
|
@ -508,7 +521,7 @@ Please Star and Fork me.
|
|
|
|
[Issues](https://github.com/Neilpang/acme.sh/issues) and [pull requests](https://github.com/Neilpang/acme.sh/pulls) are welcome.
|
|
|
|
[Issues](https://github.com/Neilpang/acme.sh/issues) and [pull requests](https://github.com/Neilpang/acme.sh/pulls) are welcome.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 18. Donate
|
|
|
|
# 19. Donate
|
|
|
|
Your donation makes **acme.sh** better:
|
|
|
|
Your donation makes **acme.sh** better:
|
|
|
|
|
|
|
|
|
|
|
|
1. PayPal/Alipay(支付宝)/Wechat(微信): [https://donate.acme.sh/](https://donate.acme.sh/)
|
|
|
|
1. PayPal/Alipay(支付宝)/Wechat(微信): [https://donate.acme.sh/](https://donate.acme.sh/)
|
|
|
|