自建CA生成证书详解

简介: 自建CA生成证书详解

今天继续给大家介绍Linux运维相关知识,本文主要内容是自建CA,并对客户CSR进行签名生成证书过程。
关于CA认证与https的原理可以参考以下文章:
CA认证与HTTPs原理介绍

一、CA认证中心配置
今天,我们使用192.168.136.210设备来作为我们的CA认证中心,提供证书签名服务。首先,我们需要安装openssl,安装命令如下:

yum install -y openssl
1
安装完成后,我们需要修改openssl的配置文件,打开文件/etc/pki/tls/openssl.cnf。将该文件172行处的basicContraints的CA:FALSE改为CA:TRUE。修改前文件如下所示:

之后,CA要生成自己的公私钥对,执行命令:

/etc/pki/tls/misc/CA -newca
1
执行结果如下:

该命令运行时需要和用户有所交互,在此过程中要注意:
①在第一处CA Certificate filename处直接回车,不用输入任何名称。
②其余项目可以根据自己实际情况进行配置。
配置完成后,我们可以查看自身证书,证书为/etc/pki/CA/cacert.pem,打开后如下所示:

CA的私钥存储在/etc/pki/CA/private/cakey.pem,如下所示:

二、web服务器生成证书请求文件
在CA配置完成后,接下来web服务器就可以向CA申请证书了,web服务器首先需要做的事生成自己的证书请求文件。
web客户端首先需要生成自己的公私钥对,在安装openssl后,执行命令:

openssl genrsa -des3 -out /etc/httpd/conf.d/https.key
1
执行结果如下:

然后,就可以使用web服务器的公钥生成证书请求文件了,执行命令:

openssl req -new -key /etc/httpd/conf.d/https.key -out /etc/httpd/conf.d/https.csr
1
就可以生成证书请求文件/etc/httpd/conf.d/https.csr。
之后,就需要把该文件发送给CA,可以使用scp命令,如下:

三、CA认证中心生成证书
CA在收到web服务端的证书请求文件后,需要对该证书申请者进行验证,在验证成功后,就可以用自己的私钥对该请求文件进行签名并生成证书。
根据证书请求文件生成证书的命令如下:

openssl ca -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -in /root/https.csr -out /root/https.crt
1
执行结果如下:

接下来,就可以把生成的证书发送给web服务器了。

四、WEB服务器配置实现https
web服务器在收到CA发送的证书文件后,需要做的是根据证书文件,配置自己的https功能。
首先,web服务器需要安装mod_ssl,该模块可以使得Apache支持https,安装命令如下:

yum install -y mod_ssl
1
安装后,在/etc/httpd/conf/目录下,会出现ssl.conf配置文件,接下来,我们需要修改该配置文件。打开该配置文件,大概在100行和107行处,有SSLCertifacateFile和SSLCertificateKeyFile两个参数,我们需要将其改为与自己的证书文件和密钥文件存储的位置,修改完成后的文件如下所示:

完成上述操作后,我们就可以启动Apache了,注意,由于配置了证书,而证书是受密码保护的,因此在启动时可能需要输入证书的密码,打开后结果如下所示:

可以看到,服务正常开启后,系统开始监听443端口。

五、结果验证
最后,我们队上述结果进行验证,在浏览器访问https://192.168.136.101,结果如下:

注意:尽管我们配置了CA中心,并且实现了https,但是由于我们的CA中心没有经过认证,所以浏览器选择拒绝相信该证书。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121895791

目录
相关文章
|
2月前
|
JSON Kubernetes Linux
Linux环境签发CA证书和K8s需要的证书
Linux环境签发CA证书和K8s需要的证书
29 0
|
10月前
|
存储 安全 算法
PKI体系与CA证书
PKI体系与CA证书
207 0
|
11月前
|
安全 网络协议 网络安全
部署PKI 和证书服务
部署PKI 和证书服务
106 0
|
网络协议 算法 安全
TLS及CA证书申请流程
TLS及CA证书申请流程
TLS及CA证书申请流程
|
网络安全 Apache 开发者
SSL 数字证书-Apache 证书配置部署|学习笔记
快速学习 SSL 数字证书-Apache 证书配置部署
133 0
|
数据建模 网络安全 数据安全/隐私保护
CA数字证书怎么用 CA数字证书收费标准
  CA数字证书也就是权威的CA机构颁发的SSL证书,可保护网站数据安全不被窃取、泄露,而且有利于SEO关键词优化,是网站安全解决方案之一。    一、CA数字证书怎么用    CA (Certificate Authority) :全称证书管理机构,即数字证书的申请、签发及管理机关。
3334 0
|
算法 网络安全 数据安全/隐私保护
|
数据安全/隐私保护