使用openssl构建私有CA

文章目录


一、openssl介绍?

OpenSSL是一个开放源代码软件包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

OpenSSL由三部分组成:

                加密和解密库:libencrypt

                安全通信ssl库:libssl

                多用途命令行工具:openssl

二、配置文件介绍

/etc/pki/tls/openssl.conf

dir             = /etc/pki/CA          #openssl的工做目录
certs           = $dir/certs            # 发放证书的目录
crl_dir         = $dir/crl              # 吊销证书目录
database        = $dir/index.txt        # 证书存取数据库

certificate     = $dir/cacert.pem       # 自签证书
serial          = $dir/serial           # 证书序列号
private_key     = $dir/private/cakey.pem # CA自己的私钥

default_days    = 365                   # 证书有效期
default_crl_days= 30                    # 吊销时间
default_md      = sha256                #默认的消息摘要算法

三.构建私有CA

在确定配置为CA的服务上生成一个自签证书,并为CA提供所需要的目录及文件即可

步骤:

 

(1)生成私钥
(umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
(2)生成自签证书
 openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
     -new 生成新证书签署请求
     -x509 生成自签证书,专用于构建私有CA
     -key 生成请求用到的私钥文件
     -out  生成请求文件路径,如果自签操作将直接生成签署过的证书
     -days 证书时长
(3)为CA提供所需的目录及文件
mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
touch /etc/pki/CA/{serial,index.txt}
echo 01 > /etc/pki/CA/serial

要用到证书进行安全通信的服务器,需要向CA请求签署证书

步骤:

(1)用到证书的主机生成私钥
mkdir /etc/httpd/ssl
(umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 4096)
(2)生成证书签署请求
openssl req -new -key  /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 3650
(3)将请求通过的可靠方式发送给CA主机
(4)在CA主机上签署证书
openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 3650

查看证书中的信息
openssl x509 -in httpd.crt -noout -serial -subject
              -serial 证书编号
              - subject 证书中的信息


总结

简单介绍了一下CA的操作过程,CA的工作原理在这里不进行介绍,希望对大家有用。有什么不足的地方希望各位指出来。谢谢

Linux构建私有CA(证书颁发机构)并下载安装证书,你可以按照以下步骤进行操作: 1. 生成私有CA的私钥(private key): ``` openssl genrsa -out ca.key 4096 ``` 2. 使用私钥生成自签名的CA证书(certificate): ``` openssl req -new -x509 -days 3650 -key ca.key -out ca.crt ``` 3. 将CA证书安装到系统的受信任根证书存储库中(这可能因Linux发行版而异)。 - 对于Debian/Ubuntu系列,使用以下命令安装CA证书: ``` sudo cp ca.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates ``` - 对于CentOS/RHEL系列,使用以下命令安装CA证书: ``` sudo cp ca.crt /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust ``` 4. 下载证书: ``` openssl s_client -connect example.com:443 -showcerts </dev/null | sed -n '/BEGIN CERTIFICATE/,/END CERTIFICATE/p' > server.crt ``` 将`example.com`替换为你要下载证书的域名。 5. 将下载的证书安装到系统的受信任证书存储库中。 - 对于Debian/Ubuntu系列,使用以下命令安装证书: ``` sudo cp server.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates ``` - 对于CentOS/RHEL系列,使用以下命令安装证书: ``` sudo cp server.crt /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust ``` 完成以上步骤后,你的Linux系统将信任由你的私有CA签发的证书,并且可以安装和使用相应的证书。请根据你的具体需求和Linux发行版进行适当的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忙里偷闲学python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值