基于OpenSSL实现C/S架构中的https会话

在实际生产中实现公司内部的web服务器加密访问时,我们就需要实现公司内部的私钥CA,并且完成对web服务器的签署请求,这样我们就可以在自身的内部机构实现对数据的机密性、完整性、身份验证的访问与传输

实验的准备:实验是在vm9上完成的,一共用了两台虚拟机;一台在CA签署服务器(IP地址是172.16.51.18),另一台是web服务器(IP地址是172.16.51.17)

私有CA的实现包括有自身私钥的生成、生成自签证书、准备相关的文件

实现私有CA的准备

为CA提供私钥

基于OpenSSL实现C/S架构中的https会话

 

生成自签证书

基于OpenSSL实现C/S架构中的https会话

生成自签证书的时候,会让我们填写一些信息,例如国家,省,市,公司名称等这些信息可以直接在/etc/pki/tls/openssl.cnf配置文件中更改这些默认的信息。

修改/etc/pki/tls/openssl.cnf配置文件中关于证书存放位置,并查看CA证书所需要的文件及目录

基于OpenSSL实现C/S架构中的https会话

手动创建certs crl newcerts目录并创建index.txt文件与serial文件(并指定起始号)

现在一个我们自签署的CA就可以使用了

web服务器端的准备

首先自己要准备好web服务,安装httpd软件包就可以了,要实现ssl功能需要安装ssl模块,所以模块要确保安装上

安装ssl模块

yum install mod_ssl

为web服务器的证书申请以及密钥文件存放创建一个特定的目录

mkdir /etc/httpd/conf/ssl

cd /etc/httpd/conf/ssl

把公钥包装成证书申请请求,向CA申请签署;首先要自己生成一个私钥(存放密钥的文件权限是600的)

基于OpenSSL实现C/S架构中的https会话

重新启动httpd服务,加载新添加的模块

service httpd restart

签署请求申请前查看自己的FQDN,没有指定的可以直接更改/etc/hosts配置文件添加一条对应关系就可以了

基于OpenSSL实现C/S架构中的https会话

生成证书签署请求

基于OpenSSL实现C/S架构中的https会话

把签署请求发送给CA服务器端(现实中为了确保其安全性,需要手动复制签署请求到CA认证机构去签署;避免在网络传输中数据泄露)

现在直接使用scp发送到CA服务器端

在CA服务器端完成签署

基于OpenSSL实现C/S架构中的https会话

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/457a71b4f2ed274ecf27e0492cb3e935.html