前回作成したプライベート認証局(以下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
  • このエントリーをはてなブックマークに追加