什么是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。