构建一个简易的https需要三个服务器来做实验:

    CAcentos7 

    web服务器:centos6 

    客户端

、配置CAcentos7

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

    搭建一个简易的https

4、给centos6证书签名

    openssl  ca -in httpd.csr -out certs/httpd.crt -days 300

    搭建一个简易的https

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可以查看脚本:

    搭建一个简易的https

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

    搭建一个简易的https

    生成的证书里面有3项必须与CA生成自签名证书一样

    (1Country Name (2 letter code) [XX]:CN

    (2State or Province Name (full name) []:henan

    (3Organization 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

    搭建一个简易的https

    还有

    搭建一个简易的https

    更改上级证书的路径

    更改三个路径,其他的可以不用调

三、访问web服务器

1、用centos去访问

    搭建一个简易的https

2、用windows去访问https:/172.17.166.166

    搭建一个简易的https

此时查看证书

    搭建一个简易的https

能查看到上级证书和自己的证书

如果想让信任其证书,需要安装一下上级证书:

    搭建一个简易的https

然后在/windows/system32/drivers/etc/HOSTS中添加一条记录就行

    172.17.166.166  www.magedu.com

添加之后访问https://magedu.com就能直接访问了(因为证书只对域名认证,不认证IP地址)

    搭建一个简易的https

这样一个简易的https就构建成了