Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

発行された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
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした