openssl req

コマンド(-text オプション)

CSRが有する詳細情報を表示する。

openssl req -noout -text -in CSRファイル名.csr

実行結果例(-text オプション)

Certificate Request:
    Data:
        Version: 2 (0x2)
        Subject: CN=wiki.ninth-nine.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:c3:6e:81:a0:ca:e8:d2:6a:b9:f1:ef:23:c2:3e:
                    80:c6:77:fa:e1:57:89:07:bd:10:16:db:b2:40:e9:
                    d5:85:24:e5:3f:84:ac:f7:60:07:7a:f7:62:aa:9f:
                    eb:f5:ee:da:4e:ff:13:06:d7:77:c7:29:dd:7e:89:
                    68:75:38:ca:5a:10:c6:d5:8e:7a:95:5b:59:90:5b:
                    59:9c:17:74:69:ea:fe:d7:a9:91:af:01:c6:cb:d9:
                    95:cc:0b:27:a3:c3:af:f7:eb:e8:e2:3a:99:ba:1a:
                    9e:fc:db:fe:d5:b7:fd:8e:81:da:ad:79:dd:eb:19:
                    b2:bb:8a:1d:04:b6:fa:bb:49:4d:a7:e1:43:42:05:
                    b6:45:1b:83:5f:52:12:d9:97:05:07:ff:92:7a:96:
                    8d:f3:19:7b:9d:0b:cf:01:54:1c:5d:41:87:5d:11:
                    e8:d1:9b:03:7a:b3:16:31:55:9f:b5:37:88:93:40:
                    d6:29:95:df:68:24:e8:6b:5a:f5:50:fc:9b:55:13:
                    8a:dd:2b:88:19:93:14:de:a7:bc:b5:6a:1c:8f:04:
                    67:74:6b:fd:b9:ab:56:ca:e7:04:63:63:2c:cc:0a:
                    cc:f9:cf:b0:58:db:c5:fa:0b:08:ab:6c:5a:5c:9e:
                    c1:c2:29:72:b0:cb:c3:0b:aa:4f:48:aa:0a:cf:3c:
                    8a:b1
                Exponent: 65537 (0x10001)
        Attributes:
        Requested Extensions:
            X509v3 Subject Alternative Name:
        Requested Extensions:
            X509v3 Subject Alternative Name:
                DNS:wiki.ninth-nine.com
    Signature Algorithm: sha256WithRSAEncryption
         10:47:1a:72:c3:31:f8:fb:a7:ae:70:c9:2a:8d:92:59:fd:10:
         ed:d0:88:03:03:b8:4e:95:ea:ba:1f:a6:2e:5e:46:f7:7e:11:
         f3:c9:ce:1f:9c:92:3a:76:07:68:25:da:46:7a:53:c8:9b:b8:
         5c:a2:94:10:0e:45:df:07:55:ec:46:2e:5b:cd:3f:96:91:ac:
         50:a9:2e:d0:52:1c:d2:1f:ae:33:f6:d1:81:78:67:dc:2a:7d:
         e4:58:11:3f:be:12:da:46:8f:d1:36:2a:66:f8:15:37:15:ac:
         4b:5a:e4:67:67:48:11:e4:2c:49:63:68:17:ae:97:44:a0:a0:
         02:02:30:ed:53:33:06:8e:71:25:ea:f0:db:9e:65:ef:9e:2f:
         3c:49:48:90:a4:eb:7e:21:34:9b:8d:a6:2b:94:ad:a9:2d:bf:
         b7:84:bc:1f:61:67:11:ab:e3:82:b5:13:7a:c8:46:15:d6:07:
         f0:ed:40:ec:1a:f0:3e:f6:27:88:59:3d:4e:38:4b:67:23:d0:
         9e:fd:33:d2:13:49:dc:75:d0:7d:9d:a7:e3:80:8d:84:0d:76:
         d2:ba:1e:3c:f0:45:f6:78:1f:30:0b:e7:00:67:d3:ae:cb:d9:
         12:e3:52:02:26:b2:00:f1:ce:f2:8f:6f:d2:5b:f2:c7:ef:da:
         9c:a3:ca:d3

この結果から以下のことがわかる。

署名情報

ラベル名

内容

意味

備考

Subject

CN=wiki.ninth-nine.com

サブジェクト(主体者)のディスティングイッシュ名

Public Key Algorithm

rsaEncryption

公開鍵暗号アルゴリズムはRSA暗号

Signature Algorithm

sha256WithRSAEncryption

署名アルゴリズムはSHA256でRSA秘密鍵で暗号化したもの

RSA暗号パラメータ

ラベル名

内容

意味

備考

Public-Key

2048 bit

2048bit 公開鍵

Modulus

モジュロ(2048bit 分)

モジュロ

秘密鍵のモジュロと一致

Exponent

65537 (0x10001)

冪指数        

65537 を明示

RSA暗号パラメータ(モジュロや冪指数)については以下の文献が詳しい。

属性(Attributes)

本例では X509v3 要求拡張(Requested Extensions)が付加されている(必須では無い)。

ラベル名

内容

意味

備考

X509v3 Subject Alternative Name

DNS:wiki.ninth-nine.com

いわゆるSANの設定

SANについてはいつかきっと…

コマンド(-subject オプション)

サブジェクト(主体者)のディスティングイッシュ名を取得する。

openssl req -noout -subject -in CSRファイル名.csr

実行結果例(-subject オプション)

subject=/CN=wiki.ninth-nine.com

コマンド(-pubkey オプション)

公開鍵を取得する。取得するだけだと何するの?なので、秘密鍵と対になっているか確認する時に使う(RSA・ECDSA問わず)。

diff -u <(openssl req  -noout -pubkey -in CSRファイル名.csr) <(openssl pkey -pubout -in 秘密鍵ファイル名.key)

<(command)というイディオム(実行結果をテンポラリファイル名で渡してくれる)は zsh/bash 拡張なので、シェルスクリプト(sh/ash/ksh)中では使わないこと。

実行結果例(-pubkey オプション)

空の結果が正常。差分が発生した場合、CSRと秘密鍵は一致していない(別々の鍵である)。diff の代わりにcmpを使うでも良い。

OpenSSL/req (最終更新日時 2019-11-27 23:54:01 更新者 NorikatsuShigemura)