1. Letsencrypt/acme.sh
shell script (pythonに依存していない) 7000行 (空白行も多い。実質 3600行か。それでも巨大だ。)
/deploy /dns-manual-mode /dnsapi /install /issue /renew /socat /standalone |
Contents
certificateの発行(issue)と配置(deploy)方法が個別(システム別)対応になっていて、
- これらの標準化が必要だろう。acme.sh に限ったことではない。
-- ToshinoriMaeno 2019-01-25 13:31:20
2. acme.sh
https://github.com/Neilpang/acme.sh
A pure Unix shell script implementing ACME client protocol https://acme.sh
- Simplest shell script for Let's Encrypt free certificate client.
https://twitter.com/thatmitchcanter/status/1087746906372100101
http://acme.sh (Let’s Encrypt with a TRUE no-sudo option) is the best thing to happen to my web flow. Especially because it runs on a cron to renew the certs automagically. 1:20 - 2019年1月23日
https://qiita.com/rewish/items/e8ddf1846a71a01d86ee acme.shでLet's Encryptのワイルドカード証明書を取得 with Nginx
3. http standalone
- "We use socat for standalone server if you use standalone mode."
FreeBSD/portsでは/socatが入らなかったので、 HTTPS/socat ソースからインストールした。(ここまでは簡単だった)
standalone で証明書を取得できることまでは確認した。 -- ToshinoriMaeno 2019-01-23 02:37:32
4. hook
https://http2.try-and-test.net/nsd_dns01.html
nsdを使って、Let's Encryptのdns-01認証チャレンジにより証明書を取得してみる。
nsd相手でなくても使えるはずだが、 -- ToshinoriMaeno 2019-01-20 15:27:17
5. standalone server
4. Use Standalone server to issue cert (requires you to be root/sudoer or have permission to listen on port 80 (TCP)) Port 80 (TCP) MUST be free to listen on, otherwise you will be prompted to free it and try again. acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com
standalone で www.qmail.jp の証明書を取得した。-- ToshinoriMaeno 2019-01-23 02:30:02
ここではdnsを使った取得を勉強することにする。
8. Automatic DNS API integration
https://github.com/Neilpang/acme.sh/blob/master/README.md
https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
6. DNS manual mode
https://github.com/Neilpang/acme.sh/wiki/dns-manual-mode /dns-manual-mode
7. DNS alias mode
https://github.com/Neilpang/acme.sh/wiki/DNS-alias-mode
危なそうな機能だが、... 証明書発行側のリゾルバーがしっかりしていればいいのか。-- ToshinoriMaeno 2019-01-19 03:12:24
https://github.com/Neilpang/acme.sh/wiki/How-to-use-lexicon-dns-api
8. cron
知らぬ間に追加されていた。削除! (installで入る。)
21 0 * * * "/home/tmaeno/.acme.sh"/acme.sh --cron --home "/home/tmaeno/.acme.sh" > /dev/null