スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

Apache2.2 + OpenSSLでSSL化

apache_2.2.11-win32-x86-openssl-0.9.8i.msiをインストールして行いました。
http://httpd.apache.org/download.cgi

コマンドラインからApacheのインストールしたディレクトリのbinフォルダに移動する。
cd C:\Program Files\Apache Software Foundation\Apache2.2\bin

私の場合は
cd C:\Apache Software Foundation\Apache2.2\bin
だったりスペースが入ってるのが嫌なので
cd C:\Apache2.2\bin
だったりしますが。

以下のコマンドでApacheのディレクトリのconfフォルダ内にサーバ用秘密鍵(server.key)、サーバ用公開鍵(server.csr)、サーバ用証明書(server.crt)、ブラウザ用証明書(server.der)を作成します。

サーバ用秘密鍵(server.key)

openssl genrsa -out ../conf/server.key 1024

サーバ用公開鍵(server.csr)

openssl req -new -key ../conf/server.key -out ../conf/server.csr -config ../conf/openssl.cnf

サーバ用証明書(server.crt)

openssl x509 -in ../conf/server.csr -out ../conf/server.crt -req -signkey ../conf/server.key -days 365

ブラウザ用証明書(server.der)

openssl x509 -in ../conf/server.crt -out ../conf/server.der -outform DER


apacheopenssl_20091217001.jpg

※あくまでもApacheインストールディレクトリのconf直下に全てのファイルを置くとする(でないとconf/extra/httpd-ssl.confを編集する必要がある)

httpd.confを編集
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
と#を外してコメントアウトし、SSLを有効にしようとしたところエラーになりました。

Apacheのエラーログを見たところ
[Wed Dec 16 19:01:34 2009] [notice] Parent: Received restart signal -- Restarting the server.
[Wed Dec 16 19:01:34 2009] [notice] Child 2044: Exit event signaled. Child process is ending.
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
[Wed Dec 16 19:01:34 2009] [warn] (OS 995)スレッドの終了またはアプリケーションの要求によって、I/O 処理は中止されました。 : winnt_accept: Asynchronous AcceptEx failed.
[Wed Dec 16 19:01:35 2009] [notice] Child 2044: Released the start mutex
[Wed Dec 16 19:01:36 2009] [notice] Child 2044: All worker threads have exited.
[Wed Dec 16 19:01:36 2009] [notice] Child 2044: Child process is exiting

となっていて、inetinfo.exeがSSLで使用するポート443を使用していた為でした。

ちなみに-config ../conf/openssl.cnfのopenssl.cnfはWindowsXPだとopensslなどと表示されてるかも知れませんが、エディタで開くと実際にはopenssl.cnfとなっていて設定が記述してあります。

また鍵と証明書を作る段階で
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
などと出ますが、新しいバージョンの2.2.14では出ません(この警告は出るものの2.2.11でもSSL化はできました)。

参考

プロフィール

TK

HN:TK

リンクはご自由にどうぞ。

最新記事
月別アーカイブ
お気に入りリンク
友達リンク
カテゴリツリー
検索フォーム
RSSリンクの表示
Powered By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード