Apache動かしてて、たまに必要になる自己証明書作成を簡単にまとめておきます。
出来る限り簡素化しています。
■ 準備「openssl」と「mod_ssl」のインストール
# yum install openssl openssl-devel mod_ssl
■ 証明書作成
# cd /etc/pki/tls/certs
【秘密鍵(server.key)の作成】
# openssl genrsa -aes128 1024 > server.key Generating RSA private key, 1024 bit long modulus ....................++++++ ........++++++ e is 65537 (0x10001) Enter pass phrase:パスワード Verifying - Enter pass phrase:パスワード
【公開鍵(server.csr)の作成】
# openssl req -new -key server.key > server.csr 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]:Tokyo Locality Name (eg, city) [Newbury]:Tokyo Organization Name (eg, company) [My Company Ltd]:yourCompany Ltd Organizational Unit Name (eg, section) []:任意 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 []:空白 An optional company name []:空白
【デジタル証明書(server.crt)の作成】
# openssl x509 -in server.csr -days 3650 -req -signkey server.key > server.crt Signature ok subject=/C=JP/ST=Tokyo/L=Tokyo/O=yourcompany Ltd/OU=system/CN=ドメイン Getting Private key Enter pass phrase for server.key:パスワード
【Apacheで利用するために、パスフレーズの削除】
# cp -p server.key server.key.bak # openssl rsa -in server.key -out server.key Enter pass phrase for server.key:パスワード writing RSA key ここまでで、こんな感じで仕上がっている。 # ls -la -rw-rw-r-- 1 root root 904 Dec 4 11:15 server.crt -rw-rw-r-- 1 root root 680 Dec 4 11:10 server.csr -rw-rw-r-- 1 root root 887 Dec 4 11:24 server.key
【パーミッションの設定/秘密鍵の移動】
# chmod 400 server.crt server.key server.csr # ls -la -r-------- 1 root root 904 Dec 4 11:15 server.crt -r-------- 1 root root 680 Dec 4 11:10 server.csr -r-------- 1 root root 887 Dec 4 11:24 server.key
【秘密鍵の移動】
# mv /etc/pki/tls/certs/server.key /etc/pki/tls/private/server.key
ついでにApache設定
/etc/httpd/conf/httpd.conf に書き加えても良いが、
yumでsslをインストールした場合、デフォルトでssl.confに設定が書かれている。
重複しないように注意しよう。