安全认证系列之-(四)生成证书

现在,我们是 root CA 了,我们已经准备好为我们的客户签数字证书,从 CA 获取数字证书需要 3 个步骤:

1.生成公开/私有密钥对

我们运行以下命令来生成 RSA 密钥对。你同时需要提供一个密码来保护你的密钥(我这里设置的密码是 123456)。密钥会被保存在 server.key 文件中。

openssl genrsa -des3 -out server.key 1024

在这里插入图片描述

2.生成证书签名请求

一旦公司拥有了密钥文件,它应当生成证书签名请求(CSR)。CSR 将被发送给 CA,CA 会为该请求生成证书(通常在确认 CSR 中的身份信息匹配后)。请将 qy-bb.club 作为证书请求的通用名,并且请记住自己都输了些啥。

openssl req -new -key server.key -out server.csr -config openssl.cnf

在这里插入图片描述

3.生成证书

生成证书。CSR 文件需要拥有 CA 的签名来构成证书。在现实世界中,CSR 文件常常被发送给可信任的 CA 签名。本实验中,我们将使用我们自己的 CA 来生成证书:

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

在这里插入图片描述如果 OpenSSL 拒绝生成证书,那很可能是因为你请求中的名字与 CA 所持有的不匹配。匹配规则在配置文件中指定([policy match]处),你可以更改名字也可以更改规则。都做到这了,就改规则吧。

此时的目录结构如下:

.
|-- ca.crt
|-- ca.key
|-- demoCA
|   |-- certs
|   |-- crl
|   |-- index.txt
|   |-- newcerts
|   `-- serial
|-- openssl.cnf
|-- server.crt
|-- server.csr
`-- server.key
发布了215 篇原创文章 · 获赞 135 · 访问量 114万+

猜你喜欢

转载自blog.csdn.net/weinichendian/article/details/105146369