はじめに
- ここでは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…)を出力しない。