![openssl 未创建具有预期到期日期的证书](https://linux22.com/image/111119/openssl%20%E6%9C%AA%E5%88%9B%E5%BB%BA%E5%85%B7%E6%9C%89%E9%A2%84%E6%9C%9F%E5%88%B0%E6%9C%9F%E6%97%A5%E6%9C%9F%E7%9A%84%E8%AF%81%E4%B9%A6.png)
我有一个自签名根 CA 证书和密钥
我正在尝试创建一个将由该 CA 签名的服务器证书
以下是我采取的步骤:
1)生成服务器密钥
openssl genrsa -out server.key 2048
2) 生成指定 365 天的签名请求
openssl req -new -key server.key -out server.csr -days 365 -sha256
3)使用自签名CA签署请求
openssl x509 -req -in server.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out server.crt -sha256
当我检查新创建的证书时,如下所示:
openssl x509 -noout -text -in server.crt
我可以在输出中看到这一点:
Validity Not Before: May 8 14:19:44 2017 GMT Not After : Jun 7 14:19:44 2017 GMT
我不确定我在这里做错了什么?即使我指定了 365 天,为什么它没有创建具有正确到期日期的证书?
答案1
证书有效性应在最后一步中指定,如下所示:
openssl x509 -req -in server.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out server.crt -sha256 -days 365
否则,当您在创建 CSR 时请求 365 天时,当您对其进行签名时,签名默认配置将覆盖 CSR 请求的天数。