Let's EncryptでSSL証明書の新規作成と自動更新(dns-01編)
Lets' EncryptによるSSL証明書の自動取得・自動更新に関するメモを残す。
使用するツール・傾向については Let's EncryptでSSL証明書の新規取得と自動更新(http-01編) 参照すること。
- ここでは「チャレンジ・レスポンス」を HTTP ではなく、DNS を使う方法について説明する。
- 環境(イントラネット内など)によってはこの方法しか採れないケースもありうる。
- しかし、DNSサーバーとの連携が必要になってしまうが、この味を知ってしまうと http-01 手順には戻れなくなること請け合いである:-)。
- Let's Encrypt について復習ではあるが、
認証局のブランドの一つである。これは「Symantec(旧Verisign)セキュア・サーバーID」「CyberTrust SureServer」「SecomTrust セコムパスポート for Web3.0」「GlobalSign クイック認証SSL」「GeoTrust RapidSSL」「Comodo PositiveSSL」などの一つと考えれば良い。たぶんどれかは聞いたことあるはずと思う。
- 他の認証局と明確に違う点は、
- 無償。当然ではあるが、1証明書をどのように(複数IP, 複数バックエンド, 複数プロトコル)使用しても1取得で済む。
- 親ドメインをまたぐ、マルチドメイン証明書(Subject Alternative Names)に対応している。
- その代わり、ワイルドーカード証明書には対応していない。
- RSA(2048bit, 3072bit, 4096bit), ECDSA(prime256v1, secp384r1) の5種類の鍵が選べる。
- ACME(Automated Certificate Management Environment)プロトコルによる証明書の認証から発行までの一連のバッチ化(自動化)が可能。
- 扱える端末が(比較的)少ない。全アクセスの 0.5% もフォローしないといけない用途なら使えない。逆にメジャーどころのブラウザは対応している。
- DV(Domain Validation)証明書のみ。ただし OV(Organization Validation) や EV(Extended Validation) との純技術的な優劣は無い。
取得数制限があるので注意。詳しくは Rate Limits を参照のこと。
検証(ステージング)用認証局も用意されているので、セットアップ時の検証や、ACME クライアントの開発といった用途ではこちらを使う。
現在のルート証明書は「IdentTrust|DST(Digital Signature Trust) Root CA X3」である(対応端末かはこのルート証明書がインストールされているか確認)。
- 中間証明書は「Let’s Encrypt Authority X3」である(場合によってはこっち「も」入ってる場合がある)。