2014年4月30日水曜日

Apache HTTP Server 2.4 64bit SSL 設定

C:\Program Files\Apache Software Foundation\Apache24\conf\httpd.conf を編集
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf 
ServerAdmin admin@s6131.jp
ServerName www.s6131.jp:80

C:\Program Files\Apache Software Foundation\Apache24\conf\extra\httpd-ssl.conf を編集

"C:/Apache24" を "C:/Program Files/Apache Software Foundation/Apache24" に変更
ServerName www.s6131.jp:443
ServerAdmin admin@s6131.jp 
SSLCertificateFile "c:/Program Files/Apache Software Foundation/Apache24/conf/server.crt"
SSLCertificateKeyFile "c:/Program Files/Apache Software Foundation/Apache24/conf/server.key"
SSLCACertificateFile "c:/OpenSSL-Win64/bin/demoCA/cacert.pem"

DNS 無いので C:\Windows\System32\Drivers\etc\hosts を編集
127.0.0.1       www.s6131.jp

C:\OpenSSL-Win64\bin\openssl.cfg をopenssl.cfg.sav にバックアップしてから編集。
[usr_cert]
basicConstraints=CA:FALSE
nsCertType = server
keyUsage = nonRepudiation, digitalSignature, keyEncipherment

秘密鍵(server.key)、公開鍵(server.csr)、証明書(server.crt)、PKCS#12(server.p12) の作成
CSR作成時の common name は www.s6131.jp を指定
cd C:\Program Files\Apache Software Foundation\Apache24\conf
openssl genrsa -out server.key 2048
openssl rsa -in server.key -out server.key
openssl req -new -days 365 -key server.key -out server.csr 
cd C:\OpenSSL-Win64\bin
openssl ca -days 365 -in "/Program Files/Apache Software Foundation/Apache24/conf/server.csr" -keyfile demoCA/private/cakey.pem -cert demoCA/cacert.pem -out "/Program Files/Apache Software Foundation/Apache24/conf/server.crt" 
cd C:\Program Files\Apache Software Foundation\Apache24\conf
openssl pkcs12 -export -in server.crt -inkey server.key -certfile /OpenSSL-Win64/bin/demoCA/cacert.pem -out server.p12 
copy server.p12 ..\htdocs

Apache サービスを再起動
ブラウザで  PKCS#12 ファイルを実行、証明書のインポート。
http://www.s6131.jp/server.p12
デフォルトのまま「次へ」を繰り返し、「完了」
(証明書ストアで「証明書の種類に基づいて、自動的に証明書ストアを選択する」を選択)

ブラウザで警告なしで SSL アクセスできることを確認。(Firefox 除く)

https://www.s6131.jp/