自建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

目录
相关文章
|
网络协议 Linux Go
Centos7CA认证中心
CA是Certificate Authority的缩写,负责发放、更新、撤销和验证数字证书,用于身份认证和数据不可否认性,常通过443端口。配置CA涉及修改openssl.cnf,创建并设置认证中心,删除并新建index文件。客户端则需生成密钥和CSR,将CSR发送至CA,CA签名后回传证书。最终,客户端可查看收到的证书。
316 0
|
域名解析 网络协议 Linux
使用 Webmin+bind9快速搭建私有DNS服务器
使用 Webmin+bind9快速搭建私有DNS服务器
1767 1
|
运维 安全 Cloud Native
国产Linux:OpenEuler能否完美替代CentOS系统?
本文讨论了OpenEuler系统作为替代CentOS的一个有潜力的选择。OpenEuler系统是一种基于开源技术和社区支持的Linux发行版,具有许多优势,如安全性、高度可定制性、强大的社区支持、容器和云原生生态系统集成以及持续更新等。与CentOS相比,OpenEuler系统提供更多的灵活性和可定制性,适用于各种用途和工作负载。但在选择OpenEuler系统时,用户需要进行仔细评估并考虑其适用性和可行性。
|
10月前
|
Docker 容器
marco-o1 + ollama + Open-WebUI 实现 o1 的折叠推理效果
marco-o1 + ollama + Open-WebUI 实现 o1 的折叠推理效果
1130 2
|
7月前
|
缓存 自然语言处理 安全
快速调用 Deepseek API!【超详细教程】
Deepseek 强大的功能,在本教程中,将指导您如何获取 DeepSeek API 密钥,并演示如何使用该密钥调用 DeepSeek API 以进行调试。
|
11月前
|
安全 API 数据安全/隐私保护
基于Keycloak的认证与授权
【10月更文挑战第27天】Keycloak 是一个开源的身份和访问管理解决方案,提供用户认证、授权、单点登录等功能,保护应用程序和服务的安全。其认证流程包括用户登录、凭证验证、身份验证令牌生成、令牌返回给应用、应用验证令牌、用户身份确认。Keycloak 支持资源定义、权限定义、角色创建与分配、用户角色分配、访问请求与授权决策等授权流程。其优势在于集中式管理、高安全性、良好扩展性和社区支持。适用于企业应用集成、微服务架构、移动应用及 API 安全等多种场景。
475 3
|
存储 安全 算法
公钥基础设施(PKI)的核心概念详解
【8月更文挑战第31天】
1787 0
信不信?工作这么多年,还有很多网工不知道光模块光衰的正常范围?
信不信?工作这么多年,还有很多网工不知道光模块光衰的正常范围?
1059 2
|
存储 安全 Linux
linux中使用Postfix和Dovecot搭建邮箱系统服务
Postfix是一个开源的邮件传输代理(MTA),用于路由和传送电子邮件。它是一个可靠、安全且高性能的邮件服务器软件,常用于搭建邮件系统的核心组件之一。 Dovecot是一个开源的邮件服务软件,用于提供邮件访问服务,包括POP3和IMAP协议。它通常与Postfix配合使用,用于接收和存储邮件,以及为用户提供远程访问邮件的功能。
1857 3
 linux中使用Postfix和Dovecot搭建邮箱系统服务