ウェブサービスは king で動いています. †version †自己認証局(CA)の構築 †opensslのインストール †すでにインストールされていました. 無い場合はapt-get opensslの設定 †/etc/ssl/openssl.cnf を編集 [usr_cert]セクションのnsCertType=serverのコメントアウトを外す [v3_ca]セクションのnsCertType=sslCA,emailCAのコメントアウトを外す default_days=3650 証明書の作成 †/usr/lib/ssl/misc/CA.shを/usr/local/CAにコピー.(不要かも) hostname:/# cd /usr/local/CA hostname:/usr/local/CA# ./CA.sh -newca CA certificate filename (or enter to create) [改行] ーー中略ーー Enter PEM pass phrase: //適当に Verifying - Enter PEM pass phrase: //確認 Country Name (2 letter code) [AU]: // JP State or Province Name (full name) [Some-State]: //Hokkaido Locality Name (eg, city) []: //Muroran-shi Organization Name (eg, company) [Internet Widgits Pty Ltd]: //Muroran-it Organizational Unit Name (eg, section) []: //SDL Common Name (eg, YOUR name) []: //rockhopper.csse.muroran-it.ac.jp Email Address []: //私のアドレス A challenge password []: //ブランク An optional company name []: //ブランク Enter pass phrase for ./demoCA/private/./cakey.pem: //一番最初のパスフレーズを入れる これで以下のファイルが作成されます.
作成した証明書の内容の確認方法 †openssl x509 -in cacert.pem -text サーバの秘密鍵と署名要求書の作成 †
CAでのサーバ証明書作成 †サーバの署名要求書にCAが署名しサーバの証明書を作成. cd /usr/local/CA openssl ca -in /usr/local/SERVER/csr.pem -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out cert.pem これでCAに署名されたサーバ証明書 cert.pem が作成されます. Apacheの設定 †hostname:/usr/local/CA# mkdir /etc/apache2/ssl hostname:/usr/local/CA# cp ./cert.pem /etc/apache2/ssl hostname:/usr/local/CA# cd /usr/local/SERVER/private/ hostname:/usr/local/SERVER/private# mkdir /etc/apache2/ssl/private hostname:/usr/local/SERVER/private# cp servernopass.key /etc/apache2/ssl/private/ hostname:/usr/local/SERVER/private# cd /etc/apache2/sites-available hostname:/etc/apache2/sites-available# cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz ./ hostname:/etc/apache2/sites-available# gzip -d ./httpd-ssl.conf.gz hostname:/etc/apache2/sites-available# ln -s /etc/apache2/sites-available/httpd-ssl.conf /etc/apache2/sites-enabled/httpd-ssl.conf hostname:/etc/apache2/sites-available# vi ./httpd-ssl.conf http-ssl.confの編集箇所 †SSLCertificateFile /etc/apache2/ssl/cert.pem <--CAで署名済みのサーバ証明書 SSLCertificateKeyFile /etc/apache2/ssl/private/servernopass.key <--サーバの秘密鍵 <VirtualHost _default_:443>を<VirtualHost サーバーIP:443>に変更. これをやらないと以下のエラーが出ちゃいます. [error] VirtualHost _default_:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results SSLモジュール有効化 †hostname:/etc/apache2/sites-available# a2enmod ssl Module ssl installed; run /etc/init.d/apache2 force-reload to enable. Apache再起動 †hostname:/etc/apache2/sites-available# apache2ctl -t Syntax OK hostname:/etc/apache2/sites-available# /etc/init.d/apache2 restart ローカルからの接続確認 †hostname:~# openssl s_client -connect localhost:https CONNECTED(00000003) ーー途中省略ーー --- GET / HTTP/1.0 ← これを入力して [改行][改行] HTTP/1.1 200 OK Date: Thu, 19 Apr 2007 14:45:57 GMT ーー以下省略ーー Hikiのインストール †apacheの設定で,.htaccessを有効にするには,/etc/apache2/sites-available/default を書き換える. |