証明書の無効化・削除
Let's Encrypt で作成した証明書の無効化・削除を実施してみた結果を記載する。
証明書の無効化
$ sudo certbot revoke --cert-path /etc/letsencrypt/live/_FQDN_/cert.pem
Let's Encrypt では証明書の失効情報は OCSP を通じて送信される。
- 証明書の無効化は certbot で実施できる。
--cert-path
で証明書へのパスを指定する (_FQDN_ の部分を証明書のドメイン名へ置き換えること)- 証明書の削除(delete)コマンドを実行するとサーバから証明書が削除されるため、削除する前に無効化すること
- 証明書が無効化されたことを確認するには SSL Labs external_link で確認するとよい。
- Chrome は OCSP Stapling による証明書の無効情報は確認しない。また、ver.37 より前は詳細設定から無効情報のチェックを行う機能を有効かすることができたが、設定も不可となった。
- http://www.itmedia.co.jp/news/articles/1202/09/news021.html external_link
- Google Chrome ヘルプ フォーラム external_link
Iriya さんから: 「サーバー証明書の取り消しを確認する」の項目がなくなった件について、以下の回答が共有できる情報となります。 1, 「証明書失効の確認」の項目は、なぜなくなったのか? - Google Chrome チームは「サーバー証明書の取り消しを確認する」のオプションがセキュリティの問題を解決するのにベストな方法ではないと考えています。 2, Chromeどのバージョンからなくなったのか? - Chrome 37 3, 現在、証明書失効のチェックボックスがないけど、証明書失効の確認をしているのか? - 証明書失効の確認はデフォルトではしていません。 Google 社員 入谷
- FireFox で確認しても証明書が無効化されたことを確認できなかった。※おそらく server-A で OCSP Stapling を有効(
SSLUseStapling on
)にしていなかったためと思われる。(未確認)
- Chrome は OCSP Stapling による証明書の無効情報は確認しない。また、ver.37 より前は詳細設定から無効情報のチェックを行う機能を有効かすることができたが、設定も不可となった。
- なお、cert.pem 以外に fullchain.pem を revoke する必要があると記載されているが不要である。(fullchain.pem に対して
certbot revoke
コマンドを実行できるが、cert.pem を無効化した後で実行しても「Certificate already revoked」となる。また、そもそも fullchain に対して無効化するという行為はおかしい。)
ryu@server-A:~$ sudo certbot revoke --cert-path /etc/letsencrypt/live/demotest.crowi-plus.org/fullchain.pem Saving debug log to /var/log/letsencrypt/letsencrypt.log Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org An unexpected error occurred: The request message was malformed :: Certificate already revoked Please see the logfiles in /var/log/letsencrypt for more details. ryu@server-A:~$
証明書の削除
$ sudo certbot delete --cert-name _FQDN_
--cert-name
で FQDN を指定する (_FQDN_ の部分を証明書のドメイン名へ置き換えること)- コマンドを実行すると /etc/letsencrypt/{archive|live}/_FQDN_ 全体が削除される。
ryu@server-A:~/work$ sudo ls -al /etc/letsencrypt/live/ | grep demotest ryu@server-A:~/work$ ryu@server-A:~/work$ sudo ls -al /etc/letsencrypt/archive/ | grep demotest ryu@server-A:~/work$