构建一个简易的https需要三个服务器来做实验:
CA:centos7
web服务器:centos6
客户端
一、配置CA(centos7)
1、在/etc/pki/CA/下面创建两个文件
echo 00 > /etc/pki/CA/serial(生成序列号)
touch /etc/pki/CA/index.txt
2、创建私钥
(umask 066;openssl genrsa -out private/cakey.pem 4096)
生成私钥的文件一定要放在/etc/pki/CA/private/cakey.pem
3、生成自签名证书
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
4、给centos6证书签名
openssl ca -in httpd.csr -out certs/httpd.crt -days 300
5、然后将签名后的证书发送到web服务器上
scp certs/httpd.crt 172.17.166.166:/etc/httpd//conf.d/ssl/
6、将自己的公钥发送到web服务器上
scp cacert.pem 172.17.166.166:/etc/httpd//conf.d/ssl/
二、配置web服务器(centos6)
1、安装mod_ssl包
yum install mod_ssl
这个包安装的同时已经生成证书,是因为安装mod_ssl的时候执行了一个脚本。用rpm -q - -scripts mod_ssl可以查看脚本:
2、创建私钥:
mkdir /etc/httpd/conf.d/ssl
(umask 066;openssl genrsa -out /etc/httpd/conf.d/ssl/httpd.key 2048)
3、生成证书
openssl req -new -key /etc/httpd/conf.d/ssl/httpd.key -out /etc/httpd/conf.d/ssl/httpd.csr
生成的证书里面有3项必须与CA生成自签名证书一样
(1)Country Name (2 letter code) [XX]:CN
(2)State or Province Name (full name) []:henan
(3)Organization Name (eg, company) [Default Company Ltd]:magedu.com
4、将生成的证书传给CA
scp /etc/httpd/conf.d/ssl/httpd.csr 172.17.177.177:/etc/pki/CA/
5、配置https的主配置文件:/etc/httpd/conf.d/ssl.conf
还有
更改上级证书的路径
更改三个路径,其他的可以不用调
三、访问web服务器
1、用centos去访问
2、用windows去访问https:/172.17.166.166
此时查看证书
能查看到上级证书和自己的证书
如果想让信任其证书,需要安装一下上级证书:
然后在/windows/system32/drivers/etc/HOSTS中添加一条记录就行
172.17.166.166 www.magedu.com
添加之后访问https://magedu.com就能直接访问了(因为证书只对域名认证,不认证IP地址)
这样一个简易的https就构建成了
原文地址:http://13296637.blog.51cto.com/13286637/1975074