Ale*_*dko 7 ssl openssl ssl-certificate
我还没有找到在哪里可以问这个问题,但看起来它是正确的地方。
使用以下命令,我可以为证书颁发机构 (CA) 生成自签名证书:
$ openssl req -new -x509 -days 3650 -config ./openssl/ca.cnf -key ./dist/ca_key.pem -out ./dist/ca_cert.pem
Run Code Online (Sandbox Code Playgroud)
您可以看到-days
设置结束日期的选项。如果我检查生成的证书,我会看到该days
选项有效:
$ openssl x509 -enddate -noout -in ./dist/ca_cert.pem
notAfter=Aug 23 11:29:57 2028 GMT
Run Code Online (Sandbox Code Playgroud)
但是,如何在.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
...
Run Code Online (Sandbox Code Playgroud)
如果我不使用-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
Run Code Online (Sandbox Code Playgroud)
您可以看到已使用默认 30 天。
.cnf
我必须在配置中的哪个位置指定-days
选项?
查看它的源代码,该req
工具似乎不支持从配置文件中读取天数。该变量days
仅在几个明显的地方被修改。
这在ca
工具中有所不同,您可以在此处查看从配置文件读取的天数。
有多种方法可以为 CA 生成自签名证书。使用该req
工具似乎很受欢迎,可能是因为您可以一次性完成。我更喜欢的另一种选择是(另外)使用该ca
工具,就像使用任何证书一样。这样,即使是您的自签名 CA 证书也会在 CA 管理中结束。它也恰好为您提供了一种方法来完成您的要求,使用部分中的default_days
配置选项my_ca
。
例如,您可以使用以下命令实现。首先创建一个证书签名请求 (CSR),同时生成一个密钥对:
openssl req -newkey rsa:2048 -keyout dist/ca_key.pem -out ca_csr.pem -config openssl/ca.cnf
Run Code Online (Sandbox Code Playgroud)
然后将 CSR 提交给 CA,就像您提交任何 CSR 一样,但可以-selfsign
选择。这需要首先准备您的 CA 目录结构,如果您想设置自己的 CA,无论如何您都必须这样做。例如,您可以在此处找到相关教程。提交请求可以按如下方式进行:
ca -selfsign -keyfile dist/ca_key.pem -in ca_csr.pem -out dist/ca_cert.pem \
-outdir root-ca/cert -config openssl/ca.cnf
Run Code Online (Sandbox Code Playgroud)
设置default_days
在my_ca
您的配置文件的部分将被应用,因为它在我的情况做的:
$ openssl x509 -enddate -noout -in ./dist/ca_cert.pem
notAfter=Aug 23 15:21:17 2028 GMT
Run Code Online (Sandbox Code Playgroud)
请注意,这些命令都取决于您的配置文件的内容。您可能必须尝试使用它们才能使它们为您工作,但这为您提供了整体方法。
归档时间: |
|
查看次数: |
13202 次 |
最近记录: |