开源CA搭建 您所在的位置:网站首页 电子证书用什么软件制作的 开源CA搭建

开源CA搭建

2024-06-29 21:54| 来源: 网络整理| 查看: 265

目录

一、前言

二、openssl介绍

三、openssl的常用用法

(一)单向加密

(二)生成随机数

(三)生成公钥,私钥

1.生成私钥

2.提取公钥

四、搭建CA

(一)创建根CA私钥:

(二)生成自签名证书

(三)创建数据库以及新颁发证书数字

(四)设置证书的起始编号

(五)创建文件夹储存用户信息

五、颁发证书

(一)生成服务器自己的私钥

(二)为服务器申请证书

(三)CA签署服务器的证书

(四)验证证书是否有效

六、吊销证书

 

一、前言

数字证书与CA的介绍:

证书是建立公共密钥和某个实体之间联系的数字化的文件。它包含的内容有:版本信息(X.509也是有三个版本的)、系列号、证书接受者名称、颁发者名称、证书有效期、公共密钥、一大堆的可选的其他信息、CA的数字签名。证书由CA颁发,由CA决定该证书的有效期,由该CA签名。每个证书都有唯一的系列号。证书的系列号和证书颁发者来决定某证书的唯一身份。  CA是第三方机构,被你信任,由它保证证书的确发给了应该得到该证书的人。CA自己有一个庞大的public key数据库,用来颁发给不同的实体。CA也是一个实体,它也有自己的公共密钥和私有密钥。

openssl可以生成CA的证书文件,私钥,可实现加解密以及数字签名的功能。

二、openssl介绍

openssl是一款开放源代码软件包,通过命令行形式执行,包含了ssl协议库,应用程序以及密码算法库,集成了安全套接字层密码库,囊括主要的密码算法、常用密钥、证书封装管理功能及实现ssl协议。

三、openssl的常用用法 (一)单向加密 openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-c] [-d] [-hex] [-binary] [-out filename]

[-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] : 指可以用来加密的内容

-out filename指可以把加密内容保存到特定文件中

(二)生成随机数 openssl rand -base64|-hex NUM

可选base64或hex(十六进制)    

NUM:生成随机数的字节长度

(三)生成公钥,私钥 1.生成私钥

需要使用genrsa命令生成私钥,然后从生成的私钥中提取公钥

openssl genrsa [-out filename] [-des | -des3 | -idea] [numbits]

-out filename : 将生成的私钥保存至特定文件中

-des | -des3 | -idea : 可选用的密码学算法

numbits :生成的私钥长度,单位是字节,一般是2048

2.提取公钥 openssl rsa [-in filename] [-out filename] [-pubout]

-in filename : 公钥对应的私钥存储文件

-out filename : 提取出公钥后储存的文件

-pubout :公钥

四、搭建CA (一)创建根CA私钥: openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 (二)生成自签名证书 openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.crt -days 3650

4d4d278b9af940be9c9e326e191375de.png

(三)创建数据库以及新颁发证书数字 touch /etc/pki/CA/index.txt touch /etc/pki/CA/serial (四)设置证书的起始编号 echo 01 > /etc/pki/CA/serial (五)创建文件夹储存用户信息 cd /etc/pki/CA mkdir data 五、颁发证书 (一)生成服务器自己的私钥 openssl genrsa -out /etc/pki/CA/data/server.key 2048

31dfb124f4344ea285cda48bc6c92118.png

(二)为服务器申请证书 openssl req -new -key /etc/pki/CA/data/server.key -out /etc/pki/CA/certs/server.csr

7673fd5b1f2e48938f2e2b8851ea23a8.png

注意:前四项填写必须和CA相同,且server' s hostname必须是申请服务器的ip地址或者域名

(三)CA签署服务器的证书 openssl ca -in /etc/pki/CA/certs/server.csr -cert /etc/pki/CA/cacert.crt -keyfile /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/certs/server.crt -days 36500

efe51d6d53bb4dda91a938898be6ca47.png

(四)验证证书是否有效 openssl verify -verbose -CAfile /etc/pki/CA/cacert.crt /etc/pki/CA/certs/server.crt

c4cb5617fdfb4ce48891181b5792d00b.png

显示ok的话就可以了

 

将得到的server.crt和server.key发给服务器,在其ssl配置文件中导入即可实现http到https的转换。如果需要浏览器通过https安全访问web服务的话,还需要在浏览器中导入CA的自签名证书

六、吊销证书

由于撤销证书的命令在openssl配置文件中指定了CA字签名证书的名称,所以在撤销证书前,需要先改一下CA自签名证书的后缀名:

mv /etc/pki/CA/cacert.crt /etc/pki/CA/cacert.pem

  (一)查看证书serial信息

openssl x509 -in /etc/pki/CA/cacert.pem -noout -serial -subject

becd99eceb9b497187729ce654854632.png

 比对成功后,进行撤销

(二)吊销证书

openssl ca -revoke /etc/pki/CA/newcerts/01.pem

(三)查看证书状态

openssl ca -status 01

(四)定义证书撤销列表的起始编号

echo 01 > /etc/pki/CA/crlnumber

(五)更新证书撤销列表  

openssl ca -gencrl -out /etc/pki/CA/crl.pem

(六)查看证书撤销列表

openssl crl -in /etc/pki/CA/crl.pem -noout -text

210d6f8bc00745f6b5a6d61515c4866b.png

参考链接:

【CentOS 7+Apache】5分钟完成服务器搭建+全站HTTP转HTTPS_哔哩哔哩_bilibili

CentOS搭建基于Apache与OpenSSL自签名证书的HTTPS服务并解决客户端浏览器信任问题_aptx4869_li的博客-CSDN博客_centos httpd openssl

Centos7创建CA和申请证书 - mingzhang - 博客园 (cnblogs.com)

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有