【使用 OpenSSL生成自签名服务器证书】扫盲贴

目录

一、生成自签名根证书和私钥

1、生成根证书私钥

2、生成根证书

(1)创建openssl.cnf文件

(2)生成根证书rootCA.crt

3、为什么根证书不要CSR(证书签名请求)文件

(1)什么是根证书?

(2)自签名证书和CSR的区别

二、生成服务器端证书

1、生成服务端私钥

2、生成CSR

(1)创建OpenSSL配置文件

(2)生成CSR

(3)使用根证书签署服务端证书

3、类比解释:信任关系

4、更新服务端证书

5、关键点

三、使用 OpenSSL生成自签名服务器证书(无单独根证书)

1、生成私钥

2、生成证书签名请求(CSR)

3、生成自签名服务器证书

四、使用其他工具生成自签名服务器证书(无单独根证书)

1、安装 mkcert 工具

2、生成证书和私钥

五、自行生成的ssl证书时问题解决

1、遇到的问题

2、原有配置

3、解决步骤

(1)检查并修改 Nginx 的 SSL 协议版本支持

(2)参数说明

4、检查并修改 Nginx 的密码套件支持

(1)在 Nginx 配置文件中找到或添加 ssl_ciphers 和 ssl_prefer_server_ciphers 配置项

(2)配置参数说明

5、测试和优化配置

6、修改后显示效果

六、证书和 SSL 握手检查

1、证书有效性检查

2、SSL 握手检查

七、总结

1、自签名的服务器证书注意点

2、根证书和服务端证书之间的信任关系


一、生成自签名根证书和私钥

1、生成根证书私钥

首先,生成一个自签名的根证书和私钥。这个根证书将作为信任锚(Trust Anchor),客户端会信任由这个根证书签署的所有证书。

# openssl genrsa - out rootCA . key 2048

参数

openssl: OpenSSL工具的主命令。

genrsa: 生成RSA密钥对的命令。

-out rootCA.key: 指定输出文件名为rootCA.key,这是生成的私钥文件。

2048: 指定密钥的长度为2048位。

2、生成根证书

(1)创建openssl.cnf文件

创建openssl.cnf 文件,文件内容如下:

# tou c h openssl . cnf

# vim openssl.cnf

---------------------------------

[ req ]

default_bits = 2048

default_keyfile = rootCA.key

distinguished_name = req_distinguished_name

prompt = no

[ req_distinguished_name ]

C = CN

ST = Beijing

L = Beijing

O = CodeProject

OU = Development

CN = CodeProject Root CA

(2)生成根证书rootCA.crt

# openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 36500 -out rootCA.crt -config openssl.cnf

-x509:表示生成自签名证书(而不是证书签名请求)。

-new:表示生成新证书。

-nodes:表示不加密私钥文件(即不需要密码保护)。

-key rootCA.key:指定私钥文件为rootCA.key。

-sha256:使用SHA-256哈希算法。

-days 36500:指定证书的有效期为36500天(约100年)。

-out rootCA.crt:指定输出的证书文件名为rootCA.crt。

-config openssl.cnf:指定使用openssl.cnf配置文件中的信息。

3、为什么根证书不要CSR(证书签名请求)文件

在生成根证书(Root CA 证书)时,不需要 CSR(证书签名请求)文件,这是因为根证书是自签名的。

具体来说,根证书的生成过程和普通证书不同,以下是详细解释:

(1)什么是根证书?

1根证书是公钥基础设施(PKI)中的顶级证书,它用来签署其他证书,包括中间证书和最终用户证书。

2根证书通常由证书颁发机构(CA)生成和自签名。

(2)自签名证书和CSR的区别

自签名证书是由自身私钥签名的证书。

因为它是信任链的起点,所以不需要外部的证书颁发机构(CA)来签署。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

超越超

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

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

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

打赏作者

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

抵扣说明:

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

余额充值