apache双向HTTPS SSL认证配置

来源:互联网 发布:潘石屹三段婚姻知乎 编辑:程序博客网 时间:2024/05/16 18:53

注意:

如果报找不到 OPENSSL.CNF文件的错误,可以到网上下一个,然后用 -config openssl.cnf来指定这个配置文件的位置,或放到报错时提示的指定位置

 

1.生成根证书的KEY, 1024的意思是RSA加密位数,必须为2的N次方,一般用1024即可。

openssl genrsa -out ca.key 1024

2.用刚刚生成的根证书的KEY来生成CSR(证书签发请求),这一步会要求填写请求的相关信息。

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

 

其中要注意的输入项有两个,一个Common Name(证书机构名),另一个challenge password(记住即可)

 

3.再用刚才的CSR和KEY来生成我们的根证书, days参数用来指定证书的有效天数。

openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt

 

以同样的办法生成服务器证书

1.先生成KEY

openssl genrsa -out server.key 1024

2.然后用KEY生成CSR,这一步输入信息里的Common Name必须填网站的域名

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

3.生成服务器证书

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

 

 

签发一个客户端证书,把最后生成的,后缀为P12文件给客户端安装。

1.先生成客户端的KEY

openssl genrsa -out client.key 1024

2.用KEY来生成CSR,但是这一步输入信息里的Common Name不能填上面的网站域名,因为这个是客户端的证书,如果填的和服务器证书的一样,会导致验证失败。

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

3.用最开始生成的根证书来签署生成这个客户端的证书。

openssl x509 –req –days 3650 –CA ca.crt –Cakey ca.key –Cacreateserial –in client.csr –out client.crt

4.制作客户端安装证书,这一步会要求输入一个Export Password,就是客户端安装证书时要求输入的安装密码

openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

 

下面开始APACHE的配置。

第一步就是在Apache的配置文件里把SSL模块加载进来

LoadModule ssl_module modules/mod_ssl.so

再把SSL的配置文件也加载进来,如果没有这个配置文件的话,可以去下一个

Include conf/extra/httpd-ssl.conf

 

然后修改httpd-ssl.conf文件,找到如下的键值修改成对应你自己系统的路径。

DocumentRoot "E:\VertrigoServ\www"

#localhost改成网站的域名

ServerName localhost:443

ErrorLog "E:/VertrigoServ/Apache/logs/error.log"

TransferLog "E:/VertrigoServ/Apache/logs/access.log"

SSLEngine on

#下面的文件就是我们刚才用OPENSSL生成的,注意修改成自己的路径

SSLCertificateFile "E:/VertrigoServ/Apache/conf/server.crt"

SSLCertificateKeyFile "E:/VertrigoServ/Apache/conf/server.key"

SSLCACertificateFile "E:/VertrigoServ/Apache/conf/ca.crt"

完成后重启APACHE

0 0
原创粉丝点击