元々の計画では2018年2月下旬を予定されていましたが、品質向上のため直前でリリース延期となっておりました。
それが本日(3月14日、現地時間で3月13日)、ついにリリースされました。
今回、ワイルドカード証明書の対応含め、ACME v2プロトコルにも対応になりました。
ワイルドカード証明書を利用するには、こちらのACME v2プロトコルの利用が必要になります。
また、これまでは証明書発行ドメインが向いているサーバ内に、認証サーバから接続し、それによって証明書発行時の所有者確認が行われていましたが、ワイルドカード証明書の取得にはDNS認証(DNS-01)を利用する形になります。
これまでと同様、コマンドラインからcertbotまたはcertbot-autoコマンドを利用して、証明書を発行するには以下の様にする必要があります。
ACME v2プロトコルを利用し、DNS認証を行うには、--manualオプションと、ACME v2プロトコル利用字のEndpoint (https://acme-v02.api.letsencrypt.org/directory)の設定が必要になります。
Certbotコマンドによる証明書生成
$ sudo certbot-auto certonly --manual \ --server https://acme-v02.api.letsencrypt.org/directory \ -d "*.anoncom.net"※ドメイン名部分(anoncom.net)は適宜読み替えてください。
実行すると、以下の様に表示され、DNS認証の準備が開始します。
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator manual, Installer None Obtaining a new certificate Performing the following challenges: dns-01 challenge for anoncom.net ------------------------------------------------------------------------------- NOTE: The IP of this machine will be publicly logged as having requested this certificate. If you're running certbot in manual mode on a machine that is not your server, please ensure you're okay with that. Are you OK with your IP being logged? ------------------------------------------------------------------------------- (Y)es/(N)o:
まずは、現在のサーバのIPアドレスを記録して良いかと聞かれます。
証明書を要求しているサーバ(現在コマンドを実行している環境)と、ドメインの接続先が同じであることを確認するためと思われます。
CloudFlareやGCPを利用しているなどで、要求元と接続先が異なる場合はDNSプラグインを指定することになりますが、ここでは割愛します。
チャレンジコードの取得
ここをパスすると次はDNS認証に使用するチャレンジコードが発行されます。これを設定するドメインのTXTレコードに設定する必要があります。
------------------------------------------------------------------------------- Please deploy a DNS TXT record under the name _acme-challenge.anoncom.net with the following value: Ahacuzt7x1785Kr8jncL4IqfpbBG3gqwVnrBstesRSC Before continuing, verify the record is deployed. ------------------------------------------------------------------------------- Press Enter to Continue
認証用TXTレコードの作成
このチャレンジコードを、DNS上のTXTレコードに、_acme-challengeというレコードを作成し、値を指定します。
※なお、本記事中で記載されているチャレンジコードはサンプル用で、実際に発行されたものとは異なります。
以下はGoogleドメインのDNS設定画面での操作をキャプチャしたものになります。
DNS認証用TXTレコード作成画面 |
追加されたTXTレコード |
DNSに設定するため、Let's Encrypt側の認証サーバからDNS上で確認できるようになるまでしばらくかかります。
そのためここで発行された値を設定後、この画面でしばらく待機します。
待たずに行うとDNSの更新が間に合わずエラーに
待たずに、即座に行うとこのようにエラーが表示されます。
Waiting for verification... Cleaning up challenges Failed authorization procedure. anoncom.net (dns-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: No TXT record found at _acme-challenge.anoncom.net
失敗すると再度同じコマンドを実行する必要がありますが、チャレンジコードは毎回新規に発行されるため、改めてDNSレコードを更新する必要がありますので注意してください。
焦らずしばらく待ちましょう
私は上記の状態で十数分程度待ってみました。Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/anoncom.net-0001/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/anoncom.net-0001/privkey.pem Your cert will expire on 2018-06-12. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
成功すると、このようにこれまでの証明書発行時と同様に、作成されます。
あとは、リバースプロキシやウェブサーバに証明書を設定することで、無事ワイルドカード証明書が利用できるようになります。
利用できるようになったワイルドカード証明書 |
注意点
既に販売されているワイルドカード証明書でも同様のことですが、ワイルドカード証明書は www.anoncom.net や games.anoncom.net といったサブドメイン部分にまで適用されます。例えば、sample.demo.anoncom.net といった、さらに下階層のドメインレベルにまでは適用されません。