ユーザ用ツール

サイト用ツール


serverapps:security:cert:acmesh:knotdns

knot DNSを利用しての証明書取得

  • インストール等は完了しているものとします
  • KnotDNSにて DNS01認証での証明書取得を行います
  • 取得後の配置は手動で行う前提です

knot DNSの設定

acme.sh側の操作

※ 環境は FreeBSD 14.3p3 を使用しています

dnsapiの用意1)

$ mkdir .acme.sh/dnsapi/
$ cp /usr/local/share/examples/acme.sh/dnsapi/dns_knot.sh .acme.sh/dnsapi/

knsupdate の用意2)3)

$ sudo pkg install knot3

acme.shがDNSサーバーとTSIGキーを利用できるようにします4)

export KNOT_SERVER='dns.example.com'
export KNOT_KEY='hmac-sha512:acme_key:riHDKb3AMPW8RCD38AbPs+riHDKb3AMPW8RCD38AbP/riHDKb3AMPW8RCD38AbP/riHDKb3AMPW8RCD38AbP/Q=='

github上のドキュメントでは 以下の様にkeymgrで作成されたfileを指定すればOKとなっていますが、筆者の環境では動作しませんでした5)

keymgr tsig generate -t acme_key hmac-sha512 > /etc/knot/acme.key
export KNOT_KEY='/etc/knot/acme.key'

証明書を発行

./acme.sh --issue --dns dns_knot -d example.com -d *.example.com

発行時中の待機時間を延ばすためには

  --dnssleep 300

のようにオプションを追加する(指定は秒)

1)
pkgでインストールしましたがコピーされていませんでした
2)
KnotDNSの更新に使用しています
3)
knotDNSのある環境からコピーしても動くかもしれませんが、筆者はpkgで入れてしまいました
4)
KNOT_SERVERおよび設定KNOT_KEYは ~/.acme.sh/account.conf に保存され、必要に応じて再利用されます。
5)
2025.04.22 FreeBSD 14.3p3
serverapps/security/cert/acmesh/knotdns.txt · 最終更新: 2025/04/23 07:13 by hayashi