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の作成の準備
作業用のディレクトリを作成、移動します。
1 2 |
$ mkdir ssl $ cd ssl |
秘密鍵生成コマンド実行
key名を www.example.jp.key
(わかりやすいようにドメイン名)として進めます。
1 |
$ openssl genrsa -des3 -out www.example.jp.key 2048 |
(root権限が必要であれば、 sudo
で実行してください)
秘密鍵生成コマンド実行後のパスワード入力
上記コマンドを実行すると、下記のようにパスワードの入力するように表示されます。
パスワードはあとで使うので、ランダムな文字列を生成して控えておいてください。
1 2 3 4 5 6 |
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生成コマンド実行
1 |
$ openssl req -new -key www.example.jp.key -out www.example.jp.csr |
上記実行すると、先程入力したパスワードを聞かれるので、パスワードを入力してください。
1 |
Enter pass phrase for www.example.jp.key: |
CSR作成情報の入力
下記のようにCSR作成に必要な情報が聞かれるので、入力していきます。
Country Nameの入力
国名(C)
に該当する内容(ここではJP
)を入力します。
1 2 3 4 5 6 7 8 |
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
)を入力します。
1 |
State or Province Name (full name) []: |
Locality Nameの入力
市町村名(L)
に該当する内容(ここではShibuya-ku
)を入力します。
1 |
Locality Name (eg, city) []: |
Organization Nameの入力
組織名(O)
に該当する内容(ここではXXXXXX
)を入力します。
1 |
Organization Name (eg, company) []: |
Organizational Unit Nameの入力
組織単位名(OU)
に該当する内容(ここではXXXXXX
)を入力します。
1 |
Organizational Unit Name (eg, section) []: |
Organizational Unit Nameの入力
コモンネーム(CN)
に該当する内容(ここではwww.example.jp
)を入力します。
1 |
Common Name (eg, fully qualified host name) []: |
その他の入力
下記Email Address
、A challenge password
は何も入力せずEnter
を押します。
(指示や情報があり、必要であれば入力してください。)
1 2 3 4 5 |
Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: |
パスワードなしの秘密鍵を作成
以下を実行し、パスワードなしの秘密鍵を生成しておきます。
1 2 |
$ cp www.example.jp.key www.example.jp.org $ openssl rsa -in www.example.jp.key.org -out www.example.jp.key |
確認
以上でCSRが生成完了します。下記のようにできていればOKです。
1 2 |
$ 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 |
生成内容の確認
下記コマンドで生成内容を確認できます。
1 |
$ openssl req -noout -text -in www.example.jp.csr |
1 2 3 4 5 6 7 8 9 |
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 .. .. .. |