HTTPS+CA

一、HTTPS

https协议由 http+ssl/tls 组成,其默认端口是:443

ssl和tls是HTTPS加密的主要协议,使用公钥加密和对称密钥加密的组合方式来保证通信的安全

数据加密

客户端:c

客户端(clienthello):将自身支持哪些版本,哪些加密算法,生成一组随机的32字节数据 random_c

clientkeyexchange:公钥的加密数据pre_master

服务端:s

服务端(serverhello):确定客户端的版本和加密算法,生成一组随机的32字节数据random_s

server certificate:公钥、证书

data:服务端收到pre_master---私钥(服务器自己的)进行解密

最后得到会话密钥:random_c + random_s + pre_master

每一次https会话传输所使用的密钥都是不同的

二、CA(证书颁发)搭建

证书颁发流程

web端生成私钥 ——> web端生成签署请求文件 ——> 发送到CA ——> CA签名 ——> CA服务器生成web证书 ——> web端下载证书

openssl命令选项

-x509      :生成自签名证书格式,专用于创建私有CA

-new        :生成新证书的签署请求

-key         :生成请求时用到的私钥文件路径

-out          :生成后的文件存放的路径,如果是自签名操作,会直接生成签署过的证书

WEB服务端上篇(WEB服务)已经搭建过了,这里就直接搭建CA

1、先给web服务器和CA服务器配置时钟同步
yum -y install chrony

然后在者两台主机中将chronyd服务重启并enable然后同步一下

hwclock -w
2、修改WEB服务端的正向解析文件

将ca添加进去 (文件位于/var/named)

也可以修改web服务端的本地解析文件 

3、创建工作目录

查看 etc/pki/tls/openssl.cnf文件,查找找到关于CA的信息

dir:是对应着的工作目录CA,但是在/etc/pki/下没有,需要创建

certs、crl_dir、database的完整目录也没有,需要在/etc/pki/CA/下创建

创建newcerts、private目录和serial文件

4、生成私钥

生成私钥的时候设置权限让除了root用户外没有权限查看

5、生成证书

在CA主机上为主机CA生成自签名证书

openssl req -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365

定义一个序列号

6、web端生成私钥

在web端etc/httpd/目录下没有ssl/目录,需要手动新建

在web端生成私钥存放在/etc/httpd/ss/中

(umask 007;openssl genrsa -out /etc/httpd/ssl/httpd.key)

7、web端生成签署请求文件

为web.example.com站点生成签署请求文件

openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365

从Country Name到Organization这些内容要和CA那边填写的一样

8、发送请求签署文件到CA

在发送之前要尝试能否 ping ca.example.com能ping通,否则就需要修改web端的网卡DNS指向

vim /etc/NetworkManager/system-connections/ens160.nmconnection

然后重启网卡服务和up  ens160,这样就能ping通ca.example.com

scp /etc/httpd/ssl/httpd.csr  root@ca.example.com:/etc/pki/CA/

在CA服务端进行授权

openssl ca -in /etc/pki/CA/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

9、下载证书

在web端将CA签署完成的证书下载

scp root@ca.example.com:/etc/pki/CA/certs/httpd.crt /etc/httpd/ssl/

10、修改/etc/httpd/conf.d/ssl.conf

先在WEB主机安装apche http扩展模块mod_ssl

yum  -y install mod_ssl

再修改ssl.conf,证书和私钥的位置

配置网页,修改/etc/httpd/conf.d/httpd-vhosts.conf文件

重启apach服务

11、下载证书

使用一台新的主机,将时钟同步做好,ens160的dns配置好然后重启一下网卡服务能ping通ca.example.com就ok

我这里是最小化安装,如果你安装的是图形化的话

打开火狐浏览器,导入证书
设置--隐私与安全--证书--查看证书--导入--找到根证书,然后双击--把“信任使用此CA标识的网站”勾上--确定--确定

最后在火狐浏览器访问 https://web.example.com

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值