LoginSignup
77
74

More than 5 years have passed since last update.

SSL証明書の内容をopensslで確認する

Last updated at Posted at 2015-06-27

発行されたSSL証明書の内容

 サーバSSL証明書の購入をベンダに申し込み、めでたく発行されたらサーバに挿すわけだが、そもそもベンダに渡したCSRが手違いであったりして、万が一誤った内容の証明書が発行されていた場合、サーバに挿しても動かない(HTTPSアクセス不可、警告表示など)という悲惨な目に合ってしまう。
 発行された内容が正しいかどうかをopensslコマンドで確認する方法があるので、是非覚えておきたい。
(正直コマンドをよく忘れてしまうので、このエントリはその備忘目的。)

ハッシュ値の確認

秘密鍵、証明書、CSRの3つは全て同じハッシュ値が取れるようになっている。
これによりCSRをもとに作成された秘密鍵及び証明書が正しくできているかを確認することが出来る。

以下、それぞれのファイルのハッシュ値確認方法。
(ハッシュ値は適当)

秘密鍵のハッシュ確認

$ openssl rsa -noout -modulus -in {private_key} | openssl md5
(stdin)= a1b2c3d45e6f7a8b9c0d1e2f3a4b5c6d

証明書のハッシュ確認

$ openssl x509 -noout -modulus -in {certificate_file} | openssl md5
(stdin)= a1b2c3d45e6f7a8b9c0d1e2f3a4b5c6d

CSRのハッシュ確認

$ openssl req -noout -modulus -in {CSR_file} | openssl md5
(stdin)= a1b2c3d45e6f7a8b9c0d1e2f3a4b5c6d

証明書の期限確認

発行された証明書の期限は申請通りになっているか?
有効期限だけなら以下のコマンドですぐ調べられる。

$ openssl x509 -noout -dates -in {certificate_file}
notBefore=Jul 10 08:59:59 2014 GMT
notAfter=Jul 10 09:00:10 2024 GMT

証明書全内容確認(対象ドメインなど)

最後に証明書の内容全体を確認する方法も。
(出力内容は適当)

$ openssl x509 -text -noout -in {certificate_file}
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number: 01234567890123456789 (0xabcdef0123456789)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=JP, ST=Tokyo, L=Hogehome-ku, O=hogehoge.com, OU=Ops, CN=hogehoge.com
        Validity
            Not Before: Jul 10 08:59:59 2014 GMT
            Not After:  Jul 10 09:00:10 2024 GMT
        Subject: C=JP, ST=Tokyo, L=Hogehome-ku, O=hogehoge.com, OU=Ops, CN=hogehoge.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:
                                     ・
                                     ・
                                     ・
                    00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:
                    ff:00
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha1WithRSAEncryption
         00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:
                                ・
                                ・
                                ・
         00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:
         aa:00:99:bb
77
74
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
77
74