web-dev-qa-db-ja.com

SSL証明書が取り消されたかどうかを確認する方法

最近のハートブリードの脆弱性の発見により、認証局は証明書を再発行するよう求められました。

ハートブリードの脆弱性が発見される前に生成された2つの証明書があります。 SSL発行者が証明書を再生成するように指示した後、私は両方のサーバー/ドメインを新しい証明書で更新しました。

私の理解が正しければ、古い証明書はCAによって取り消され、CRL(証明書取り消しリスト)またはOCSPデータベース(オンライン証明書ステータスプロトコル)に入れられているはずです。そうでなければ、技術的に誰かが「妥協された証明書から取得した情報から証明書を再生成することにより、「中間者攻撃」。

古い証明書がCRLおよびOCSPに到達したかどうかを確認する方法はありますか?それらが含まれていない場合、それらを含める方法はありますか?

更新:状況はすでに私の証明書を置き換えているということです。私が持っているのは古い証明書の.crtファイルだけなので、URLを使用してチェックすることは実際には不可能です。

23

証明書からocsp urlを取得します。

$ openssl x509 -noout -ocsp_uri -in /etc/letsencrypt/archive/31337.it/cert1.pem
http://ocsp.int-x1.letsencrypt.org/
$

証明書が取り消されているかどうかを確認するリクエストをocspサーバーに送信します。

$ openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain4.pem -cert /etc/letsencrypt/archive/31337.it/cert4.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "Host" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 10:00:00 2015 GMT
        Next Update: Nov  5 10:00:00 2015 GMT
$

これは良い証明書です。

これは取り消された証明書です:

$  openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain3.pem -cert /etc/letsencrypt/archive/31337.it/cert3.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "Host" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 12:00:00 2015 GMT
        Next Update: Nov  5 12:00:00 2015 GMT
        Revocation Time: Oct 29 12:33:57 2015 GMT
$
11
Simon

Windowsではcertutilを使用できます。

証明書があり、その有効性を確認する場合は、次のコマンドを実行します。

certutil -f –urlfetch -verify [FilenameOfCertificate]

たとえば、

certutil -f –urlfetch -verify mycertificatefile.cer

出典/詳細: TechNet

また、必ずCAに確認してください。証明書を再生成したり、新しい証明書を取得したからといって、証明書が自動的に取り消されるわけではありません。

11
MichelZ

この SSLLabsサービス を使用してSSL証明書をテストできますが、Webからアクセスできる必要があります。さらに、いくつかの詳細情報を見つけることができます。このサービスで監査を提供します。

2
mack

証明書を生成したCAを介して証明書を取り消した場合、それらはOCSPおよびCRLに到達したはずです。

そうであることを確認したい場合は、証明書からocsp urlを抽出してから、証明書のシリアル番号、ca発行者の証明書を含むocspリクエストをそのURLに作成し、ocsp応答を取得してください。それを解析して、実際に取り消されていることを確認します。

この便利なページの詳細: http://backreference.org/2010/05/09/ocsp-verification-with-openssl/

注:これにはopensslライブラリの使用が必要です。

Edit1:この回答の後に、OCSPとCRLに関する情報を明示的に追加したようです。

1
Khanna111