3ステップでできるCSRファイル作成方法
システムソリューション部の中川です。
このところ、SSL証明書の申請前にCSRファイルを作成する機会が何度かありました。
その都度作業内容は記録していますが、忘れた頃に作成依頼が来るので
情報整理のためにもブログ記事にしました。
CSRファイルとは
Certificate Signing Requesの略で、証明書を申請するドメイン(サイト)に関係する
個人もしくは企業情報が記入されたファイルです。
ファイルの内容は後ほど説明していきます。
証明書販売代理会社によっては、申請時に必要情報を渡すことで作成代行も請け負ってくれます。
申請者側で作成する必要がある場合に活用できる
opensslコマンドを使ったCSRファイル作成方法をご紹介していきます。
1.鍵ファイルを作成
まず、CSRファイル作成前に、対応する鍵ファイルを生成します。
作業対象ディレクトリに移動して、次のコマンドを実行します。
openssl genrsa 2048 【鍵ファイル名】.key
上記のコマンドは、パスフレーズを設定しない場合のものです。
パスフレーズを設定するには、オプション「-des3」を付けて実行します。
openssl genrsa -des3 2048 【鍵ファイル名】.key
ただ、以降のCSRファイル作成時や、鍵ファイルを使用する度にパスフレーズ入力が必要になります。
他にも運用しているサーバでapacheあるいはnginxが再起動する度に
パスフレーズを入力する必要がある、といった手間を考慮して設定しないようにしています。
2.CSRファイルを生成
openssl req -new -key 【鍵ファイル名】.key -out 【CSRファイル名】.csr
コマンド実行後、次の質問事項を入力していきます。
Country Name (2 letter code) [XX]:国コード2文字 State or Province Name (full name) []:都道府県名 Locality Name (eg, city) [Default City]:市町村名 Organization Name (eg, company) [Default Company Ltd]:会社名 Organizational Unit Name (eg, section) []:部署名 Common Name (eg, your name or your server's hostname) []:ドメイン名(FQDN) Email Address []:メールアドレス Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:何も記入せずEnter An optional company name []:何も記入せずEnter
以上を入力し終わると、CSRファイルが作成されています!
極端に言えばCommonNameさえ正しく入力していれば、CSRファイルとして成立します。
記入内容は作成者の都合にお任せします。
3.整合性確認
1.と2.で生成した2つのファイルの整合性を確認します。
次のコマンドで各ファイルを復号できます。
openssl rsa -text -noout -in 【鍵ファイル名】.key openssl req -text -noout -in 【CSRファイル名】.csr
実行すると「Modulus=」から始まる出力結果が表示されます。
Modulus=A11E0ABEB629...
出力した2つの復号結果に差分がなければ、整合性確認は完了です。
とはいえ、2つ分のファイルを復号した上、WinMergeのような差分確認ツールを使って
差分確認するのも面倒な時は、次のコマンドをお試しください。
diff <(openssl rsa -text -noout -in 【鍵ファイル名】.key) <(openssl req -text -noout -in 【CSRファイル名】.csr)
diffコマンドの実行結果が何も表示されなければ、2つのファイルは同じ復号結果ということになります。
お疲れ様でした!
ファイル作成後はローカル環境にコピーする等してご自由にお使いください。
ここまで読んで下さりありがとうございます。