高手进阶!CA认证服务器

前言

超文本传输协议(HTTP,Hypertext Transfer Protocol)。常用于互联网中发布和接收html页面的一种网络协议。由于HTTP传输数据时采用明文传输,有数据泄露的风险。在移动支付、在线聊天等产业迅猛发展的今天,基于安全套接层的超文本传输协议(HTTPS,Hypertext Transfer Protocol over Secure Socket Layer)被广泛的应用。HTTP协议附加SSL加密层以达到保护数据安全传输的目的,无论是互联网中还是企业内部常常为了安全都会采用HTTPS的方式来完成WEB服务器的部署。

本文将为读者带来如何在RHEL7.0操作系统中使用OpenSSL工具完成CA服务器的部署,以及CA证书的下发。

一、CA服务器的搭建

默认情况下RHEL7.0操作系统中已经安装了OpenSSL的相关软件,只需简单的按照配置文件调整系统中的部分文件即可完成CA服务器的部署。

Openssl的配置文件存放位置为:/etc/pki/tls/openssl.cnf

主要默认配置如下:

其中部分代码含义:

dir= /etc/pki/CA# 定义路径变量

certs= $dir/certs# 已颁发证书的保存目录

database= $dir/index.txt# 数据库索引文件

new_certs_dir = $dir/newcerts# 新签署的证书保存目录

certificate= $dir/cacert.pem# CA证书路径名

serial= $dir/serial# 当前证书序列号

private_key= $dir/private/cakey.pem# CA的私钥路径名

根据配置需求,我们首先需要生成CA的私钥:cakey.pem

这里我们采用非对称加密算法RSA生成一个1024位的密钥,存放于/etc/pki/private/cakey.pem

生成CA服务器的自签名证书

这里生成一个有效期为一年的自签名证书。根据屏幕交互内容,依次填入国家代码、省份、城市、公司、部门以及服务器主机名和管理员Email信息。

创建数据库索引文件index.txt

创建证书序列编号文件serial

至此,CA认证服务器调整完毕。

二.HTTPS服务器搭建

这里我们采用常见的apache来搭建WEB服务器,提供一个名为test.example.com的站点的HTTPS访问。

apache虚拟主机配置文件如下:

准备index.html页面

生成用于HTTPS加密的私钥文件

生成用于申请CA证书的证书请求文件

依次输入相关的站点资料

向服务器申请CA证书

重启服务完成配置,尝试访问网站

由于我们部署的是私有CA服务器,所以部分浏览器并不认可该证书,点击‘I Understand the Risks’后依次点击左下角的按键,添加证书至信任即可。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180728A09E4T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券