LoginSignup
20
13

More than 5 years have passed since last update.

opensslコマンドで秘密鍵、サーバ証明書の内容を確認する

Posted at

はじめに

前回は、opensslコマンドを使ってApacheでHTTPSサーバの構築を行いました。今回は秘密鍵、および対になるサーバ証明書の共有鍵の内容を確認します。

内容確認

秘密鍵はpem形式というフォーマットで保存されているため、cat等でtext表示をしても内容が分かりません。

# cat server.key 
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAxP9lDdZ1WtLPYYhcFeSYXax/i/zlonc3E9IwdH0BvMt5gyQW
UcU/oAk2ZjmFjtnFKus0TyO6hCEdF+t2UC8v6cCEk/La2d3zrYPQ1u0Q4+EEwrGN
(中略)
01ac2navtVrdgCik2YzIIhh1fY9C14Smeb0JNxCl06EuT7v7IlNtFuoee8DpgbM4
dGDDdUqgaeuLKI7/nBOJF82XQw1MIk6TY0VO+u9ft58kKeD3w1oj5g==
-----END RSA PRIVATE KEY-----

pem形式からデータを取り出すには、openssl rsaコマンドに-textのオプションをつけて実行します。

# openssl rsa -text < server.key 
Private-Key: (2048 bit)
modulus:
    00:c4:ff:65:0d:d6:75:5a:d2:cf:61:88:5c:15:e4:
    98:5d:ac:7f:8b:fc:e5:a2:77:37:13:d2:30:74:7d:
  (略)
prime1:
    00:ec:fc:8f:00:58:75:df:8e:91:fa:cb:5e:19:da:
    94:d8:18:2b:0d:14:c2:ae:57:a6:98:35:ec:be:8d:
  (略)
prime2:
    00:d4:cd:82:0b:a6:d8:ed:27:49:b0:e1:da:de:83:
    c7:46:8c:a6:9b:4e:0d:1a:73:c3:a8:14:19:69:11:
  (略)

コマンドを実行するといくつかのパラメータが出てきますが、modulusとprimeに注目します。modulusは2つの素数の積となる値で、これが公開鍵そのものになります。prime1とprime2が素となる素数であり、秘密鍵になります。

対になるサーバ証明書も確認してみましょう! こちらはx509コマンドに-textオプションをつけることで、同じように確認できます。

# openssl x509 -text < server.crt 
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number:
            d4:fb:52:22:40:ea:03:6b
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=XX, L=Default City, O=Default Company Ltd
        Validity
            Not Before: Jan 14 14:05:10 2018 GMT
            Not After : Feb 13 14:05:10 2018 GMT
        Subject: C=XX, L=Default City, O=Default Company Ltd
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:c4:ff:65:0d:d6:75:5a:d2:cf:61:88:5c:15:e4:
                    98:5d:ac:7f:8b:fc:e5:a2:77:37:13:d2:30:74:7d:
           (略)

こちらからもmodulusの値が出てきました。秘密鍵のmodulusと一致しているため、先ほどの秘密鍵と対になる公開鍵が含まれていることがわかります。

20
13
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
20
13