二、创建私有CA
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
如果一个组织、一个机构想要通过最具性价比的方式实现https的功能,那么通过使用openssl来实现是一个不错的选择。而如果是大公司,大机构,那样的跨国公司就不需要使用此工具了,而是使用open CA来实现
1)生成CA的密钥对
1
2
|
#cd /etc/pki/CA/
#(umask 077;openssl genrsa -out private/cakey.pem 2048)
|
1
|
#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 36500
|
3)创建需要的文件
1
2
|
#touch index.txt serial crlnumber
#echo 01 > serial
|
1
2
3
|
#mkdir /etc/httpd/ssl
#cd /etc/httpd/ssl
#(umask 077;openssl genrsa -out httpd.key 1024)
|
1
|
#openssl req -new -key httpd.key -out httpd.csr
|
1
|
#openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/httpd.cer -days 36500
|
4、导出httpd.cer到windows主机
为了稍后用windows主机做ssl的测试,先把生成的证书传到windows客户端上去,我这里使用了xshell管理工具,所以就yum了一个lrzsz的工具,就可以直接和windows进行文件传输了,很方便
5、安装证书
1
|
#yum -y install httpd
|
1
|
#yum -y install mod_ssl
|
2)查看mod_ssl的安装位置
①、配置使用ssl的虚拟主机
②、配置证书和公钥
这里必须要配置证书和公钥,因为你使用的是https,客户在访问你的网站时,是经过加密传输的,而刚才在客户机上装了证书就是为了让客户能够把加密过的数据发送给我们,再用我们服务器的私钥去解密,从而保证网络传输的安全
4)启动httpd服务并查看端口是否监听成功
保证windows主机与linux主机在同一网段中,在浏览器中输入httpd的名称进行访问
因为是我们自建的CA,所以会提示证书不受信任,无所大碍,我们仍然继续
成功访问,实现https网络传输成功!