エラー内容
TLS-SNI検証を無効化による影響で、certbotコマンドでエラーが出るようになっていました。(2018年1月より)
Let’s Encrypt ACME TLS-SNI検証を無効化
エラー内容は以下のような内容です。
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.
以下には正常動作したときの結果だけを記載しますが、他のエラーなど苦戦した詳細な実行結果の記事は別で記載していますので、良ければ参照してください。
「Debian9」SSL/TLS証明書「Let's Encrypt」の導入記録
前提条件
[Debian9] で試しています([Ubuntu] でも同じのはず)
[Apache] が事前にインストールされている
[Let's Encrypt] はドメイン名が必要(IP直での証明書の取得はできません)
実行手順
Certbot クライアントのインストール
OSごとにインストールの方法が違います。今回は「Debian 8 (jessie)」に従いインストールします。(今回は「Debian 9 (stretch)」ですが、まだ資料がないので)
Certbot クライアントのインストール - Let's Encrypt 総合ポータル
リポジトリ [backports] から入手する必要なないようで、以下を実行。
$ sudo apt-get install certbot python-certbot-apache
これで [certbot] が使えるようになる。
certbotで証明書の取得
本来なら以下のコマンドで証明書を取得するのだが、これだと[certbot]コマンドの初回でたずねなれる[メール設定]や[同意]の入力をすすめることができるが、肝心の証明書取得のところで、予期せぬエラーとなる。
× $ sudo certbot --apache
同じことを何度やっても以下のエラーとなる。
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.
これが、TLS-SNI検証を無効化による影響のようだが、以下のコマンドを実行すると証明書の取得ができた。ただしこれを実行する前にApacheを一時的にとめる必要がある。
$ sudo certbot --authenticator standalone --installer apache
手順に従い操作を進めていくと証明書が無事取得できました。
Congratulations! You have successfully enabled https://xxx.mydomain.com
その他参考
実行時の他のエラーや、実行時の詳細記録、複数の証明書取得なども試しています。よろしければ参照ください。
「Debian9」SSL/TLS証明書「Let's Encrypt」の導入記録