什麼是SSL?
SSL(Secure Socket Layer): 是為Http傳輸提供安全的協議,通過證書認證來確保客戶端和網站服務器之間的數據是安全。Open SSL下載地址:http://www.openssl.org/source/
一、下載並安裝 支持SSL的 Apache
1.安裝配有SSL模塊的apache,
下載地址http://httpd.apache.org/download.cgi#apache23
附件提供httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi
2.配置:打開Apache的配置文件conf/httpd.conf
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
去掉兩行前面的#,自定義的配置文件.conf還可以通過include包含進來。
修改httpd-ssl.conf(或者自定義的*-ssl.conf) 文件裡的兩個字段:
SSLCertificateFile "D:/Apache2.2/conf/server.crt"
SSLCertificateKeyFile "D:/Apache2.2/conf/server.key"
二、為網站服務器生成證書及私鑰文件
1. 生成服務器Apache的一個RSA私鑰
openssl genrsa -out server.key 1024
生成了一個1024字節的文件server.key,生成證書簽署請求CSR
2. 生成簽署申請
openssl req -new –out server.csr -key server.key -config ..confopenssl.cnf
其中,
Country Name:兩個字母的國家代號
State or Province Name:省份名稱
Locality Name:城市名稱
Organization Name:公司名稱
Organizational Unit Name:部門名稱
Common Name:你的姓名
Email Address:地址
此時生成簽署文件server.csr.
三、通過CA為網站服務器簽署證書
1.Generating RSA private key for CA (1024 bit) [ca.key]
生成CA私鑰
openssl genrsa -out ca.key 1024
多出ca.key文件
2.Generating X.509 certificate signing request for CA [ca.csr]
利用CA的私鑰產生CA的自簽署證書
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..confopenssl.cnf
3.CA為網站服務器簽署證書
在bin目錄下創建demoCA,裡面創建以下文件,index.txt,serial:serial內容為01,其他為空,以及文件夾 newcert.再執行一遍,即可生成server.crt文件
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..confopenssl.cnf
四、然後將 server.crt,server.key復制到apache的conf文件夾下,重啟Apache。