前回作成したプライベート認証局(以下CA)でサーバ証明書を作ります。サーバ証明書の発行までの流れは、
サーバ秘密鍵(KEY)の作成。
KEYから証明書署名要求(CSR)の作成。
CSRへCAが署名を行い証明書(CRT)を発行。
となる。
まずは、以下のコマンドでサーバ秘密鍵を作成する。
実行後パスフレーズを求められ、入力するとサーバ秘密鍵が作成される。
cd /etc/pki/CA-PRIVATE/private
openssl genrsa -out xxx.clarus.jp.key -des3 2048
もしパスフレーズが不要又は邪魔であれば、下記コマンドでパスフレーズを外すことが可能。(未確認)
下記opensslを実行すると パスフレーズを入力するとパスフレーズの外れたKEYが作成される。
mv xxx.clarus.jp.key xxx.clarus.jp.key.org
openssl rsa -in xxx.clarus.jp.key.org -out xxx.clarus.jp.key
次にCAに署名をしてもらう為に必要な、証明書署名要求(CSR)を作成する。
色々と入力を求められるので、作成したopenssl.cnfのデフォルト値を利用するため、-configで openssl.cnfファイルを指定する。
openssl req -new -key xxx.clarus.jp.key -out xxx.clarus.jp.csr -config /etc/pki/CA-PRIVATE/openssl.cnf
Country Name ( 2 letter code) [ JP]:【未入力 Enter】
State or Province Name ( full name) [ Tokyo]:【未入力 Enter】
Locality Name ( eg, city) [ Toshima-ku]:【未入力 Enter】
Organization Name ( eg, company) [ Clarus LLC]:【未入力 Enter】
Organizational Unit Name ( eg, section) [ Information Systems Dev.]:【未入力 Enter】
Common Name ( eg, your name or your server’s hostname) [] :【ホスト名を入力】
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にCAで署名します。
cd /etc/pki/CA-PRIVATE/certs/
openssl ca -in /etc/pki/CA-PRIVATE/private/xxx.clarus.jp.csr -out xxx.clarus.jp.crt -config /etc/pki/CA-PRIVATE/openssl.cnf
実行後、CA秘密鍵のパスフレーズを求められ、パスフレーズ入力後にサーバ証明書の内容が出力されます。
同時にサーバ証明書の有効期限も出力されますが、プライベート認証局 を作成した際に指定したデフォルト値が適用されているので、必要であればopensslでオプション指定することで変更すること。
Enter pass phrase for /etc/pki/CA-PRIVATE/private/cakey.pem:【CA秘密鍵のパスフレーズ】
Check that the request matches the signature
(省略)
Sign the <http://companyofangels.co.uk/tag/cheap-cialis-online.php> certificate? [ y/n]:【y 入力】
1 out of 1 certificate requests certified, commit? [ y/n]【y 入力】
もし、下記メッセージが出力されて署名ができない場合は、opensslのコマンドで「-policy policy_anything」を追加してみる。
failed to update database
TXT_DB error number 2