SSL証明書発行のため、社内でCSRを作成することがたびたびあるため、社内での手順をまとめました。
目次
実行環境
OpenSSLコマンドを使用するので、OpenSSLコマンドが実行できる環境を用意してください。
Macユーザ
Mac上で、ターミナルを開いてOpenSSLコマンドを実行できます。
Windowsユーザ
VMやWSLなどで用意したLinux上で、OpenSSLコマンドを実行するといいです。
CSR作成情報の準備
下記のようなCSRの作成に必要な情報を準備します。
以下は例です。
| 名前 | 値 |
|---|---|
| コモンネーム(CN) | www.example.jp |
| 組織単位名(OU) | XXXXXX |
| 組織名(O) | XXXXXX |
| 市町村名(L) | XXXXXX |
| 都道府県名(S/ST) | Tokyo |
| 国名(C) | JP |
CSRの作成の準備
作業用のディレクトリを作成、移動します。
$ mkdir ssl
$ cd ssl
秘密鍵生成コマンド実行
key名を www.example.jp.key (わかりやすいようにドメイン名)として進めます。
$ openssl genrsa -des3 -out www.example.jp.key 2048
(root権限が必要であれば、 sudo で実行してください)
秘密鍵生成コマンド実行後のパスワード入力
上記コマンドを実行すると、下記のようにパスワードの入力するように表示されます。
パスワードはあとで使うので、ランダムな文字列を生成して控えておいてください。
Generating RSA private key, 2048 bit long modulus
................+++
.................................................................+++
e is 65537 (0x10001)
Enter pass phrase for www.example.jp.key:
Verifying - Enter pass phrase for www.example.jp.key:
CSR生成コマンド実行
$ openssl req -new -key www.example.jp.key -out www.example.jp.csr
上記実行すると、先程入力したパスワードを聞かれるので、パスワードを入力してください。
Enter pass phrase for www.example.jp.key:
CSR作成情報の入力
下記のようにCSR作成に必要な情報が聞かれるので、入力していきます。
Country Nameの入力
国名(C)に該当する内容(ここではJP)を入力します。
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) []:
State or Province Nameの入力
都道府県名(S/ST)に該当する内容(ここではTokyo)を入力します。
State or Province Name (full name) []:
Locality Nameの入力
市町村名(L)に該当する内容(ここではShibuya-ku)を入力します。
Locality Name (eg, city) []:
Organization Nameの入力
組織名(O)に該当する内容(ここではXXXXXX)を入力します。
Organization Name (eg, company) []:
Organizational Unit Nameの入力
組織単位名(OU)に該当する内容(ここではXXXXXX)を入力します。
Organizational Unit Name (eg, section) []:
Organizational Unit Nameの入力
コモンネーム(CN)に該当する内容(ここではwww.example.jp)を入力します。
Common Name (eg, fully qualified host name) []:
その他の入力
下記Email Address、A challenge passwordは何も入力せずEnterを押します。
(指示や情報があり、必要であれば入力してください。)
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
パスワードなしの秘密鍵を作成
以下を実行し、パスワードなしの秘密鍵を生成しておきます。
$ cp www.example.jp.key www.example.jp.org
$ openssl rsa -in www.example.jp.key.org -out www.example.jp.key
確認
以上でCSRが生成完了します。下記のようにできていればOKです。
$ ls
www.example.jp.csr www.example.jp.key www.example.jp.key.org
以下のようになっていればOKです。
| 名前 | 用途 |
|---|---|
| www.example.jp.csr | CSR |
| www.example.jp.key | パスワードなしのkey |
| www.example.jp.key.org | パスワードありのオリジナルkey |
生成内容の確認
下記コマンドで生成内容を確認できます。
$ openssl req -noout -text -in www.example.jp.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=JP, ST=Tokyo, L=Shibuya-ku, O=XXXXXX, OU=XXXXXX, CN=XXXXX
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
..
..
..
