証明書の失効

デンマーク語で見る

ドイツ語で見る

スペイン語で見る

フィンランド語で見る

フランス語で見る

ヘブライ語で見る

ハンガリー語で見る

イタリア語で見る

日本語で表示する

韓国語で見る

ブラジルポルトガル語で見る

ロシア語で見る

スウェーデン語で見る

ウクライナ語で見る

簡体字中国語で読む

繁体字中国語で読む

最終更新日: | すべてのドキュメントを見る

証明書が安全に使用できなくなった場合は、失効させる必要があります。これは、いくつかの理由で発生する可能性があります。たとえば、秘密鍵を誤って公開ウェブサイトで共有してしまう、ハッカーがサーバーから秘密鍵をコピーする、ハッカーがサーバーまたはDNS構成を一時的に制御して、秘密鍵を保持している証明書の検証と発行に使用するなどです。

Let's Encrypt証明書を失効させると、Let's Encryptはオンライン証明書ステータスプロトコル (OCSP)を通じてその失効情報を公開し、一部のブラウザはOCSPをチェックして証明書を信頼すべきかどうかを確認します。OCSPには根本的な問題があるため、すべてのブラウザがこのチェックを行うわけではないことに注意してください。それでも、侵害された秘密鍵に対応する証明書を失効させることは重要な慣行であり、Let's Encryptの加入者契約で義務付けられています。

Let's Encryptで証明書を失効させるには、ACME APIを使用します。ほとんどの場合、CertbotなどのACMEクライアントを介して使用します。証明書を失効させる権限があることをLet's Encryptに証明する必要があります。これを行うには、証明書を発行したアカウントから、別の承認されたアカウントを使用するか、証明書の秘密鍵を使用するという3つの方法があります。

理由コードの指定

証明書を失効させる場合、Let's Encryptの加入者は次のように理由コードを選択する必要があります。

上記以外の理由コードを指定した失効リクエストは拒否されます。

証明書を発行したアカウントから

元々証明書を発行し、発行に使用したアカウントをまだ制御している場合は、アカウントの資格情報を使用して証明書を失効させることができます。Certbotはデフォルトでこれを試みます。例:

certbot revoke --cert-path /etc/letsencrypt/archive/${YOUR_DOMAIN}/cert1.pem

別の承認済みアカウントの使用

誰かがホストまたはDNSを侵害した後に証明書を発行した場合、制御を取り戻したらその証明書を失効させる必要があります。証明書を失効させるために、Let's Encryptは、その証明書に含まれるドメイン名を制御していることを確認する必要があります(そうでない場合、人々は許可なく互いの証明書を失効させる可能性があります)。

この制御を検証するために、Let's Encryptは発行の制御の検証に使用するのと同じ方法を使用します。DNS TXTレコードに値を配置するか、HTTPサーバーにファイルを配置することができます。一般的に、ACMEクライアントはこれらを処理します。ほとんどのACMEクライアントは検証と発行を組み合わせているため、検証をリクエストする唯一の方法は発行を試みることです。必要ない場合は、結果の証明書を失効させるか、単に秘密鍵を破棄することができます。

証明書の発行をまったく回避したい場合は、コマンドラインに存在しないドメイン名を含めることができます。これにより、他の既存のドメイン名を検証しながら発行が失敗します。例:

certbot certonly --manual --preferred-challenges=dns -d ${YOUR_DOMAIN} -d nonexistent.${YOUR_DOMAIN}

そして指示に従ってください。DNSではなくHTTPを使用して検証する場合は、`--preferred-challenges`フラグを`--preferred-challenges=http`に置き換えます。

失効させたい証明書のすべてのドメイン名の制御を検証したら、crt.shから証明書をダウンロードし、発行した場合と同様に証明書を失効させることができます。

certbot revoke --cert-path /PATH/TO/downloaded-cert.pem

証明書の秘密鍵の使用

元々証明書を発行しなかったが、対応する秘密鍵のコピーを持っている場合は、その秘密鍵を使用して失効リクエストに署名することで失効させることができます。たとえば、秘密鍵が誤って公開されていることがわかった場合、この方法を使用して、元々これらの証明書を発行した人でなくても、その秘密鍵を使用した証明書を失効させることができます。

この方法を使用するには、まずPEM形式の秘密鍵のコピーが必要です。

次に、まだ持っていない場合は、失効させる証明書をダウンロードします。Let's Encryptはすべての証明書をCertificate Transparencyログに記録するため、crt.shなどのログモニターから証明書を見つけてダウンロードできます。一致する`SubjectPublicKeyInfo` (SPKI)フィールドを検索すると、秘密鍵を使用するすべての証明書が見つかります。秘密鍵からSPKIハッシュを抽出するには:

openssl pkey -outform DER -in /PATH/TO/privkey.pem -pubout | openssl sha256

秘密鍵と証明書を取得したら、次のように証明書を失効させることができます。

certbot revoke --cert-path /PATH/TO/cert.pem --key-path /PATH/TO/privkey.pem --reason keyCompromise