目 录CONTENT

文章目录

创建自签服务端客户端证书

版主
2025-04-22 / 0 评论 / 0 点赞 / 26 阅读 / 0 字 / 正在检测是否收录...

1. 生成 CA 根证书(Root CA)

1.1. 生成 CA 根私钥

首先,生成一个加密的根证书私钥,供后续生成根证书使用:

 openssl genpkey -algorithm RSA -out ca.key -aes256
  • ca.key 是根证书的私钥文件,-aes256 表示使用 AES 256 加密。

1.2. 生成 CA 根证书

使用生成的根证书私钥来创建一个自签名的根证书:

 openssl req -key ca.key -new -x509 -out ca.crt -days 3650
  • ca.crt 是根证书文件,-days 3650 指定有效期为 10 年。

  • 在此过程中,你将被要求提供一些证书信息(如国家、组织等)。


2. 生成服务端证书(Server Certificate)

2.1. 生成服务端私钥

 openssl genpkey -algorithm RSA -out server.key -aes256
  • server.key 是服务端私钥。

2.2. 生成服务端证书签名请求(CSR)

 openssl req -key server.key -new -out server.csr
  • server.csr 是服务端的证书签名请求文件,之后将用根证书进行签发。

2.3. 使用根证书签发服务端证书

 openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650
  • server.crt 是服务端证书文件。

  • -CAcreateserial 会自动生成一个序列号文件(ca.srl)。


3. 生成客户端证书(Client Certificate)

3.1. 生成客户端私钥

 openssl genpkey -algorithm RSA -out client.key -aes256
  • client.key 是客户端私钥。

3.2. 生成客户端证书签名请求(CSR)

 openssl req -key client.key -new -out client.csr
  • client.csr 是客户端的证书签名请求文件,之后将用根证书进行签发。

3.3. 使用根证书签发客户端证书

 openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 3650
  • client.crt 是客户端证书文件。


4. 验证生成的证书

4.1. 验证服务器证书

使用根证书验证服务器证书是否正确签发:

openssl verify -CAfile ca.crt server.crt
  • 如果输出 server.crt: OK,则表示服务器证书正确。

4.2. 验证客户端证书

使用根证书验证客户端证书是否正确签发:

openssl verify -CAfile ca.crt client.crt
  • 如果输出 client.crt: OK,则表示客户端证书正确。

0
广告 广告

评论区