我还没有找到可以问这个问题的地方,但看起来这里是正确的位置。
使用以下命令,我可以为证书颁发机构(CA)生成自签名证书:
$ openssl req -new -x509 -days 3650 -config ./openssl/ca.cnf -key ./dist/ca_key.pem -out ./dist/ca_cert.pem
您可以看到选项-days
设置了结束日期。如果我检查生成的证书,我会看到days
选项起作用:
$ openssl x509 -enddate -noout -in ./dist/ca_cert.pem
notAfter=Aug 23 11:29:57 2028 GMT
然而,我该如何在.cnf
配置文件中指定相同的选项呢?我调查了很多文章,但似乎没有什么有效的方法(ca.cnf
):
[ ca ]
default_ca = my_ca
default_days = 3650 # does not work
days = 3650 # does not work
[ my_ca ]
...
default_days = 3650 # does not work
days = 3650 # does not work
...
[ req ]
...
default_days = 3650 # does not work
days = 3650 # does not work
...
如果我不使用-days
选项,上述方法都行不通:
$ openssl req -new -x509 -config ./openssl/ca.cnf -keyout ./dist/ca_key.pem -out ./dist/ca_cert.pem
$ openssl x509 -enddate -noout -in ./dist/ca_cert.pem
notAfter=Sep 25 11:38:48 2018 GMT
您可以看到默认使用了30天。
在.cnf配置文件中,我必须指定-days选项的位置在哪里?
openssl req -new -sha256 -key private/ca.key -out ca_csr.csr -config openssl_ca.cnf
。 - uzay95