== Letsencrypt/acme.sh == shell script (pythonに依存していない) 7000行 (空白行も多い。実質 3600行か。それでも巨大だ。) <> <> certificateの発行(issue)と配置(deploy)方法が個別(システム別)対応になっていて、  これらの標準化が必要だろう。acme.sh に限ったことではない。 -- ToshinoriMaeno <> == 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 == http standalone == "We use socat for standalone server if you use standalone mode." FreeBSD/portsでは[[/socat]]が入らなかったので、 [[HTTPS/socat]] ソースからインストールした。(ここまでは簡単だった)   standalone で証明書を取得できることまでは確認した。 -- ToshinoriMaeno <> == hook == https://http2.try-and-test.net/nsd_dns01.html nsdを使って、Let's Encryptのdns-01認証チャレンジにより証明書を取得してみる。 nsd相手でなくても使えるはずだが、 -- ToshinoriMaeno <> == 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 <> ---- ここでは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 == DNS manual mode == https://github.com/Neilpang/acme.sh/wiki/dns-manual-mode [[/dns-manual-mode]] == DNS alias mode == https://github.com/Neilpang/acme.sh/wiki/DNS-alias-mode 危なそうな機能だが、... 証明書発行側のリゾルバーがしっかりしていればいいのか。-- ToshinoriMaeno <> https://github.com/Neilpang/acme.sh/wiki/How-to-use-lexicon-dns-api == cron == 知らぬ間に追加されていた。削除! (installで入る。) {{{ 21 0 * * * "/home/tmaeno/.acme.sh"/acme.sh --cron --home "/home/tmaeno/.acme.sh" > /dev/null }}} == 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