2016年05月07日

Apache、WindowsでSSL通信の設定(オレオレ証明書)

今回はWindows環境のApacheとGrassfishをmod_proxyで連携させるで作成した環境をSSL通信(https)に対応させてみたいと思います。

前提として、ApacheのOpensslをWindows7で利用できるようにするでopensslのコマンドが利用できるようになっているとします。

@秘密鍵(server.key)の生成
下記コマンドをコマンドプロンプトから発行します。

openssl genrsa -out server.key 2048

コマンドプロンプトは管理者権限で実行して下さい。
管理者権限でない場合は下記のようなwaringがでます。

unable to write 'random state'

ApacheSsl2001.png

成功すれば、カレントディレクトリにserver.keyが作成されます。

ApacheSsl2002.png

A公開鍵(server.csr)の作成

下記コマンドをコマンドプロンプトから発行します。

openssl req -new -key server.key -out server.csr

各項目を入力します。
・Country Name (2 letter code) [AU]: //2文字国名
・State or Province Name (full name) [Some-State]: //都道府県
・Locality Name (eg, city) []: //区市町村
・Organization Name (eg, company) [Internet Widgits Pty Ltd]: //組織名
・Organizational Unit Name (eg, section) []://部署名
・Common Name (eg, YOUR name) []: //担当者名またはサーバ名など
・Email Address []://メールアドレス 空でもOK
・A challenge password []://[Enter]キー
・An optional company name []: //[Enter]キー

成功すれば、カレントディレクトリにserver.csrが作成されます。

ApacheSsl2003.png

Bデジタル証明書(server.crt)の作成
下記コマンドをコマンドプロンプトから発行します。

openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt

成功すれば、カレントディレクトリにserver.crtが作成されます。

ApacheSsl2004.png

Chttpd.confの以下のSSL関係の内容がコメントアウトされているので外す。

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modlues/mod_socache_shmcd.so
(またはLoadModule socache_shmcb_module modules/mod_socache_shmcb.so)

Dhttpd-ssl.confを編集
httpd-ssl.confはextraフォルダの下にあります。
以下の内容をApacheのインストールディレクトリに合わせて修正していく。
また作成した、server.key、server.csr、server.crtをconfフォルダ以下に配置しておく。
(SSLCertificateFileとSSLCertificateKeyFileのパスをそれぞれのパスに設定するならどこでもいい)

SSLSessionCache
DocumentRoot
ErrorLog
TransferLog
SSLCertificateFile
SSLCertificateKeyFile
Directory
CustomLog

この状態でApacheを再起動し、https://localhost/android/にアクセスすると
以下の画面になります。

ApacheSsl2006.png

このサイトの閲覧を続行する(推奨されません)。をクリックして、
画面が表示されれば成功です。

ちなみになぜこのような警告チックな画面が出ているかというと、
認証機関から発行された証明書を使用していないからです。
(自分で発行した通称「オレオレ証明書」を使用しているため)
ラベル:openssl Apache
posted by sengoku at 21:30| Comment(0) | Apache | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: