CSR作成の手引き

はじめに

  • ここではopensslコマンドを用いたCSRの作成を説明する。ローカル環境はMacであり、opensslはLibreSSL 2.8.3である。なお、LibreSSL 2.8.3はMacOSにデフォルトでインストールされている。

作成手順

1. キーペアの作成

コマンド

openssl genrsa -des3 2048 > ****.key

実行結果

Generating RSA private key, 2048 bit long modulus
...............................................+++
......................+++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:

説明

  • genrsa : RSA秘密鍵を作成する。
  • -des : 秘密鍵の暗号化の形式。

DESとは「Data Encryption Standard」の略で、共通鍵暗号方式によるデータ暗号化のアルゴリズムの1つ。

詳しくはこちらを参照。

  • 2048 : 秘密鍵のビット数。
  • ****.key: 暗号鍵のファイル名。『****』の部分は任意。
  • Enter pass phrase:で入力したパスワードはこの先使うので覚えておく

2. CSRの作成

コマンド

openssl req -new ****.key -sha256 -out *****.csr

実行結果

Enter pass phrase for ****.jp.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:*****-ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:**** Inc.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:*****.jp
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

説明

  • req : 証明書署名要求関連の処理を行う。
  • -new : 新規に証明書要求ファイルを作成する。
  • -in : 入力ファイルを指定する。
  • -out : 出力ファイルを指定する。
  • -sha256 : ハッシュ関数の形式を指定する。SHA-256は「Secure Hash Algorithm 256-bit」の略であり、その名前が示す通り256ビット(32バイト)長のハッシュ値を得ることができる。

ハッシュ関数とは、以下のような性質を持つ関数。

  • 任意の長さのデータから固定長の出力データを返す。

  • あるデータを一方向にしか変換できず、ハッシュ化されたデータを元のデータに戻すことは基本的に不可能。

詳しくはこちらを参照。

  • A challenge password []:Email Address []:は入力しなくてもよい。

3. CSRの確認

コマンド

openssl req -text -noout -in *****.csr

実行結果

Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=JP, ST=Tokyo, L=*****-ku, O=***** Inc., CN=www.*****.jp
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):

             ※略※     
      Signature Algorithm: sha256WithRSAEncryption 
             ※略※

説明

  • -text : テキスト形式で出力する。
  • -noout : 末尾にPEM(—–BEGIN…)を出力しない。