はじめに
実際の業務でCSRを作成する機会があり、普段使っているツールが
諸事情で使えなくなっていたのでMacターミナルで
CSRを作成した作業の備忘録になります。
事前準備
- OpenSSLのインストール(Homebrew経由でインストール)
- 秘密鍵
- 秘密鍵のパスフレーズ(ある場合)
- DN情報
1,秘密鍵の作成
OpenSSLはインストール済み
r-oyama1:csr_test r-oyama$ openssl version OpenSSL 3.1.4 24 Oct 2023 (Library: OpenSSL 3.1.4 24 Oct 2023) r-oyama1:csr_test r-oyama$
テスト用に秘密鍵を作成
openssl genrsa -out {$ビット長} {$秘密鍵のファイル名}
パスフレーズをつけたい場合は 「-aes256」などの暗号化アルゴリズムをオプションに加える
openssl genrsa -aes256 -out {$秘密鍵のファイル名}
実際に秘密鍵を作成 キー長は2048bitで作成
r-oyama1:csr_test r-oyama$ openssl genrsa -out r-oyama-test.pem.key 2048 r-oyama1:csr_test r-oyama$ r-oyama1:csr_test r-oyama$ r-oyama1:csr_test r-oyama$ openssl genrsa -aes256 -out r-oyama-test-pass.pem.key 2048 Enter PEM pass phrase: Verifying - Enter PEM pass phrase: r-oyama1:csr_test r-oyama$ r-oyama1:csr_test r-oyama$ ls r-oyama-test-pass.pem.key r-oyama-test.pem.key r-oyama1:csr_test r-oyama$
2.作成した秘密鍵からCSRを作成
openssl req -new -key {$秘密鍵のファイル名} -out {$CSRのファイル名}
今回はDN情報がないので全て空白で入力
パスフレーズなしの場合
r-oyama1:csr_test r-oyama$ openssl req -new -key r-oyama-test.pem.key -out r-oyama-test.pem.key.csr 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]: #都道府県 Locality Name (eg, city) []: #市区町村 Organization Name (eg, company) [Internet Widgits Pty Ltd]: #組織名 Organizational Unit Name (eg, section) []: #部署名 Common Name (e.g. server FQDN or YOUR name) []: #コモンネーム Email Address []: #メールアドレス Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: #証明書を破棄するためのパスワード An optional company name []: #会社名の略称 r-oyama1:csr_test r-oyama$ r-oyama1:csr_test r-oyama$
パスフレーズありの場合
r-oyama1:csr_test r-oyama$ r-oyama1:csr_test r-oyama$ openssl req -new -key r-oyama-test-pass.pem.key -out r-oyama-test-pass.pem.key.csr Enter pass phrase for r-oyama-test-pass.pem.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]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: r-oyama1:csr_test r-oyama$ r-oyama1:csr_test r-oyama$ r-oyama1:csr_test r-oyama$ r-oyama1:csr_test r-oyama$
r-oyama1:csr_test r-oyama$ ls r-oyama-test-pass.pem.key r-oyama-test-pass.pem.key.csr r-oyama-test.pem.key r-oyama-test.pem.key.csr r-oyama1:csr_test r-oyama$
以上
あとは作成したCSRファイルを認証局に送って
SSLサーバ証明書への署名を申請すれば終わりです。
作成した鍵は安全な場所に保管するようにしてください