INDEX
- 1 1.秘密鍵作成のための擬似乱数の情報を生成
- 2 2.サーバ用秘密鍵(server.key)の作成
- 3 3.認証局への署名要求書(server.csr)の作成
- 4 4.署名要求書(server.csr)にサーバ用秘密鍵(server.key)を使用して署名し、サーバー証明書(server.crt)を発行する。
- 5 5.(※任意)サーバー証明書(server.crt)をDERフォーマットへ変換してブラウザインポート用のバイナリ(ca.der)を作成
- 6 6.サーバー用秘密キーからパスフレーズを削除
- 7 7.mod_sslのインストール
- 8 8.ssl.confの編集
- 9 9.ネームベースのSSLの設定 httpd.confの編集
- 10 10.apacheの再起動
- 11 11.クライアントのhostファイルの編集
- 12 12.クライアントに証明書をインストール
- 13 13.SSLでアクセス
1.秘密鍵作成のための擬似乱数の情報を生成
# pwd /etc/httpd/conf/ssl sslは作成した作業用のフォルダ # openssl md5 * > ./rand.dat
2.サーバ用秘密鍵(server.key)の作成
# openssl genrsa -des3 -out server2012.key -rand rand.dat 2048 48 semi-random bytes loaded Generating RSA private key, 2048 bit long modulus ...................................................+++ ...+++ e is 65537 (0x10001) Enter pass phrase for server2012.key:★server2012 Verifying - Enter pass phrase for server2012.key:★server2012
3.認証局への署名要求書(server.csr)の作成
# openssl req -new -key server2012.key -out server2012.csr Enter pass phrase for server2012.key:★server2012 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]:★chuou-ku Organization Name (eg, company) [My Company Ltd]:★TestCompany Organizational Unit Name (eg, section) []:★TestSection Common Name (eg, your name or your server's hostname) []:★test.jp Email Address []:★ Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:★ An optional company name []:★
4.署名要求書(server.csr)にサーバ用秘密鍵(server.key)を使用して署名し、サーバー証明書(server.crt)を発行する。
# openssl x509 -req -days 3650 -sha1 -in server2012.csr -signkey server2012.key -out server2012.crt Signature ok subject=/C=JP/ST=Tokyo/L=chuou-ku/O=TestCompany/OU=TestSection/CN=test.jp Getting Private key Enter pass phrase for server2012.key:★server2012
5.(※任意)サーバー証明書(server.crt)をDERフォーマットへ変換してブラウザインポート用のバイナリ(ca.der)を作成
# openssl x509 -inform PEM -outform DER -in server2012.crt -out server2012.der
6.サーバー用秘密キーからパスフレーズを削除
これをしておかないと、apacheの再起動のたびに入力を要求されます。
運用上好ましくないので削除しておきます。
# cp server2012.key server2012.key.bak # openssl rsa -in server2012.key -out server2012.key Enter pass phrase for server2012.key:★server2012 writing RSA key
7.mod_sslのインストール
# yum install mod_ssl
8.ssl.confの編集
#vim /etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/httpd/conf/ssl/server2012.crt SSLCertificateKeyFile /etc/httpd/conf/ssl/server2012.key
9.ネームベースのSSLの設定 httpd.confの編集
ipでアクセスする場合は不要
#vim /etc/httpd/conf/httpd.conf NamevirtualHost *:443 <VirtualHost *:443> DocumentRoot /var/www/html/ ServerName test.jp <VirtualHost>
10.apacheの再起動
※この際、6のパスフレーズの削除を行っていなければ、パスワードの入力を求められる
# service httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
11.クライアントのhostファイルの編集
windowsの場合
C:\WINDOWS\system32\drivers\etc/hosts を編集
192.168.xx.xx test.jpを追加
linuxの場合
# vim /etc/hosts を編集 192.168.xx.xx test.jpを追加
12.クライアントに証明書をインストール
4か5で作成した証明書をクライアントのブラウザにインストールする。
13.SSLでアクセス
Test.jp