メニュー
【SSL証明書】FAQ/情報

OpenSSLでCSR作成

ページ更新日:2026/06/13

openssl コマンドを使用した秘密鍵とCSRの作成方法を説明します。

openssl req コマンドで秘密鍵(server.key)とCSR(server.csr)を作成する実行例
▲ openssl で秘密鍵とCSRを作成する実行例(クリックで OpenSSLコマンド集 へ)

上の動画や 下記の解説 のように opensslコマンドを実行して、CSRを作成するのが一般的です。
秘密鍵にパスフレーズを設定 してよりセキュアな構築をすることも可能です。
その他のコマンド実行例は OpenSSLコマンド集(GIF) にまとめています。

OpenSSLでCSR作成

以下の openssl コマンドを実行してCSRを作成します。

opensslコマンド実行

$ openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

実行例

$ openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
Generating a 2048 bit RSA private key
.....................................................................+++
................................................................+++
writing new private key to 'server.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) [GB]:JP
State or Province Name (full name) [Berkshire]:Saitama(都道府県を英字で入力)
Locality Name (eg, city) [Newbury]:Saitama-shi(市区町村を英字で入力)
Organization Name (eg, company) [My Company Ltd]:Slogical Corporation(組織名を英字で入力)
Organizational Unit Name (eg, section) []:System Team(部署名を英字で入力)
Common Name (eg, your name or your server's hostname) []:www.slogical.co.jp(コモンネームを英字で入力)
Email Address []:(空白、エンターのみ入力)

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:(空白、エンターのみ入力)
An optional company name []:(空白、エンターのみ入力)
$


OpenSSLでCSR作成(秘密鍵にパスフレーズを設定)

現在はあまり一般的に利用されていないですが、秘密鍵にパスフレーズを設定してCSRを作成する手順は次のとおりです。
パスフレーズを設定すると、Apacheの起動時にパスフレーズの入力が必要になりより高セキュリティですが、Apacheを自動再起動できなくなります。

1. 秘密鍵の作成

$ openssl genrsa -des3 2048 > server.key

(server.key として 2048bitの秘密鍵が生成されます)

2. 秘密鍵を元にCSR作成

$ openssl req -new -key server.key -out server.csr -sha256

(server.csr として CSRが出力されます)

3. 秘密鍵にパスフレーズを埋め込む

$ openssl rsa < server.key > server_withpass.key

(server_withpass.key として、パスフレーズの埋め込まれた秘密鍵が出力されます)
※パスフレーズの埋め込まれた秘密鍵を使用すると、 Apacheの起動時にパスフレーズの入力を省略できます。

実行例

$ openssl genrsa -des3 2048 > server.key
Generating RSA private key, 2048 bit long modulus
.......+++
...........................................................+++
e is 65537 (0x10001)
Enter pass phrase:(パスフレーズ入力)
Verifying - Enter pass phrase:(パスフレーズ入力)
$

$ openssl req -new -key server.key -out server.csr -sha256
Enter pass phrase for server.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) [GB]:JP
State or Province Name (full name) [Berkshire]:Saitama(都道府県を英字で入力)
Locality Name (eg, city) [Newbury]:Saitama-shi(市区町村を英字で入力)
Organization Name (eg, company) [My Company Ltd]:Slogical Corporation(組織名を英字で入力)
Organizational Unit Name (eg, section) []:System Team(部署名を英字で入力)
Common Name (eg, your name or your server's hostname) []:www.slogical.co.jp(コモンネームを英字で入力)
Email Address []:(空白、エンターのみ入力)

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:(空白、エンターのみ入力)
An optional company name []:(空白、エンターのみ入力)
$

$ openssl rsa < server.key > server_withpass.key
Enter pass phrase:(パスフレーズ入力)
writing RSA key
$

CSR作成後の確認

作成したCSRの内容は次のコマンドで確認できます。コモンネームや組織名に誤りがないか、お申込み前にご確認ください。

$ openssl req -text -noout -in server.csr

【ツール】CSR確認ツール(CSRを貼り付けるだけで内容と CA/Browser Forum 準拠をチェック)

関連ページ

CSRとは?秘密鍵との関係・作成方法を解説
CSR作成時の注意点と各フィールドの説明
OpenSSLとは?インストール・基本コマンドから証明書管理まで完全ガイド
ワイルドカード証明書のCSR作成
秘密鍵とは?SSL証明書との関係・管理方法
【ツール】CSR作成ツール(ブラウザ上で秘密鍵とCSRを生成)