apache配置ssl


一、准备工作
安装好 Apache + openssl
win32openssl 下载地址 http://slproweb.com/products/Win32OpenSSL.html,最好下载完整包(或者可以自己编译openssl)
VC++ 2008安装

二、生成CA证书

首先cmd命令进入{Apache}/bin目录下
1、成网站服务器公钥文件server.key
openssl genrsa -out server.key 1024

2、生成server.csr
openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf
(此处的openssl.cnf在windows下显示的是openssl 类型为快速拨号)

3、生成CA私钥文件ca.key
openssl genrsa -out ca.key 1024

4、生成CA证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf


三、生成服务端证书

在{Apache}/bin文件下面创建demoCA文件夹,并在demoCA文件夹里面创建newcerts文件夹、index.txt文件、serial文件,serial文件内容为01。

1、签名以后的服务器证书
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf

2、把server.crt,server.key,ca.crt文件复制到{Apache}/conf文件夹下面


四、生成客户端证书

1、创建客户端私钥
openssl genrsa -aes256 -passout pass:pldsec -out D:/Wamp/private/client.key.pem 2048

2、创建客户端证书签发请求
openssl req -passin pass:pldsec -new -key D:/Wamp/private/client.key.pem -out D:/Wamp/private/client.csr -subj '/C=CN/ST=SZ/L=SZ/O=pldsec/OU=pldsec/CN=192.168.1.203' -config D:/Wamp/Apache24/conf/openssl.cnf

3、利用CA根证书,签发客户端证书
openssl x509 -req -days 3650 -CA D:/Wamp/Apache24/conf/ca.crt -CAkey D:/Wamp/Apache24/bin/ca.key -CAcreateserial -in D:/Wamp/private/client.csr -out D:/Wamp/certificates/client.crt

4、将client.crt转换为 .pfx 格式的证书
openssl pkcs12 -export -clcerts -inkey D:/Wamp/private/client.key.pem -in D:/Wamp/certificates/client.crt -out D:/Wamp/certificates/client.p12 -passin pass:pldsec -passout pass:pldsec

五、在httpd中配置双向的HTTPS
1、编辑 httpd.conf,分别查找下面2行代码,并去掉前面的#,(这里的前提是,在编译httpd的时候,已经编译了ssl模块)
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 
LoadModule socache_dbm_module modules/mod_socache_dbm.so 
LoadModule socache_memcache_module modules/mod_socache_memcache.so 
LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf 

<IfModule ssl_module> 
SSLRandomSeed startup builtin 
SSLRandomSeed connect builtin 
</IfModule> 

2、编辑{Apache}/conf/extra/httpd-ssl.conf 
SSLEngine on 
SSLCertificateFile "d:/Wamp/Apache24/conf/server.crt" 
SSLCertificateKeyFile "d:/Wamp/Apache24/conf/server.key" 
SSLCACertificateFile "D:/Wamp/Apache24/conf/ca.crt" 
SSLVerifyClient require 
SSLVerifyDepth 10 
前3个开启是单向的HTTPS认证,后面3个开启是双向的HTTPS认证

原文地址:https://www.cnblogs.com/rnckty/p/4097458.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM