1. Letsencrypt/acme.sh

shell script (pythonに依存していない) 7000行 (空白行も多い。実質 3600行か。それでも巨大だ。)

certificateの発行(issue)と配置(deploy)方法が個別(システム別)対応になっていて、

-- 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

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

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

9. renew

https://community.letsencrypt.org/t/acme-sh-not-using-nc-now-uses-socat-tools-my-question-is-where-do-i-get-these-tools/42683