Ali*_*eza 19 openssl self-signed-certificate
我有一个生成self-signed证书的 bash 脚本并且运行良好:
#! /bin/bash
# Generate self signed root CA cert
openssl req -nodes -x509 -days 358000 -newkey rsa:2048 -keyout ca.key -out ca.crt -subj "/C=IR/ST=TEH/L=Torento/O=CTO/OU=root/CN=es.example.com/emailAddress=info@example.com"
# Generate server cert to be signed
openssl req -nodes -newkey rsa:2048 -days 358000 -keyout server.key -out server.csr -subj "/C=IR/ST=TEH/L=Torento/O=CTO/OU=server/CN=es.example.com/emailAddress=info@example.com"
# Sign the server cert
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
# Create server PEM file
cat server.key server.crt > server.pem
# Generate client cert to be signed
openssl req -nodes -newkey rsa:2048 -days 358000 -keyout client.key -out client.csr -subj "/C=IR/ST=TEH/L=Torento/O=CTO/OU=client/CN=es.example.com/emailAddress=info@example.com"
# Sign the client cert
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAserial ca.srl -out client.crt
# Create client PEM file
cat client.key client.crt > client.pem
Run Code Online (Sandbox Code Playgroud)
当我检查生成的过期时间时client.pem,它显示了 8 月 10 日的过期时间:
$ openssl x509 -enddate -noout -in client.pem
notAfter=Aug 10 12:32:07 2018 GMT
Run Code Online (Sandbox Code Playgroud)
过期日期有什么问题?
小智 23
有效性设置为 ,openssl x509而不是openssl req。如果您将-days选项与x509命令一起放置,它将起作用。
您获得 30/08 是因为没有-days覆盖默认证书有效期 30 天的选项,如x509手册页中所述:
-days arg
指定使证书有效的天数。默认值为 30 天。
旁注,如果您想要合理的安全性,生成有效期为 358000 天(980 年!)的证书太长了。
rus*_*tyx 16
证书的有效期是在生成证书时设置的。
openssl req本身会生成证书签名请求(CSR)。-days此处指定将被忽略。
openssl x509从 CSR 颁发证书。这是-days应该指定的地方。
但:
openssl req -x509联合机req和x509成一体; 它生成一个 CSR 并对其进行签名,一次性颁发证书。这就是为什么req支持-days标志,因为它在内部将它传递给x509命令。| 归档时间: |
|
| 查看次数: |
48123 次 |
| 最近记录: |