Shammer's Philosophy

My private adversaria

OpenSSLで証明書要求(CSR)を作る

サーバーの証明書を作るまでの流れは大まかに以下の通り。

  1. サーバーの秘密鍵を作る
  2. サーバーの証明書要求(CSR)を作る
  3. 証明書要求をCAに送付し、署名された証明書を得る

「独自のCA環境を構築する - 自己署名証明書作成編」の手順で、自分専用CAの証明書を作成した。
次は、サーバー証明書を作るのに必要なものを作る。秘密鍵の作成とCSRの作成を分けて書いたが、
OpenSSLでは一度のコマンドで両方同時に作ることができる。

openssl req -newkey rsa:1024 -keyout server1_privatekey.pem -keyform PEM -out server1_csr.pem -outform PEM

このコマンドを実行すると、カレントディレクトリに

  • server1_privatekey.pem
  • server1_csr.pem

が生成される。server1_csr.pemというのがCSRで、これをCAに送りサーバー証明書を得る。
そのサーバー証明書とペアで使用するのがserver1_privatekey.pemという秘密鍵になる。

上記コマンドを実行すると、最初に

Generating a 1024 bit RSA private key
.++++++
....++++++
writing new private key to 'server1_privatekey.pem'
Enter PEM pass phrase:

というメッセージが表示される。ここで、一度秘密鍵パスフレーズを入力。
それが終わると、さらに確認で入力を求められる。

Verifying - Enter PEM pass phrase:

ここで、パスフレーズを再入力。すると、続いて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 や State or Province Name など、
個人や組織の情報。これらをすべて入力すれば、上述のCSR秘密鍵が生成されている。