Apacheにおける自己証明書作成手順をまとめました。
下記資料を参考にしました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
1)秘密鍵を作成
○構文
# openssl genrsa -des3 -out (秘密鍵ファイル名) (キー長)
○作成例
# cd /etc/pki/tls/certs # openssl genrsa -des3 -out httpserverkey.pem 2048 秘密鍵を保護するためのパスフレーズの入力を求められます。
2)作成した秘密鍵ファイルからCSRを作成
※CSR(Certificate Signing Request)とは?
サーバIDを申請・取得するために認証局へ提出する署名リクエスト
○構文
# openssl req -new -key (秘密鍵ファイル名) -out (CSRファイル名)
○作成例
# openssl req -new -key httpserverkey.pem -out httpserver.csr 秘密鍵のパスフレーズの入力を求められます。 下記6項目を入力 【Country (国名)】 (JP) 【State(都道府県名)】 (例:Tokyo) 【Locality(市区町村名)】 (例:Chuo-Ku) 【Organizational Name(組織名)】 (例:VeriSign Japan K.K.) 【Organizational Unit(部門名)】 (例:System1、System2 な 【Common Name(コモンネーム)】 (例:https://sample.verisign.
3)自己証明書の作成
通常の証明書はVeriSignなどの認証局に署名してもらいますが、ここでは自己証明書を作成しているので自分で署名します。
○構文(X.509証明書の作成)
# openssl ca -in (CSRファイル) -out (自己証明書)
○作成例
# openssl ca -in httpserver.csr -out httpservercert.pem
証明書の有効期間は、openssl.cnfの”default_days”で指定した日数となります。
4)ファイルの配置
・ファイル名をそれぞれserverkey.pem、servercert.pemとし、/etc/pki/tls/http/に置くことを推奨