通过签署 CSR 创建 x509 v3 用户证书

问题描述 投票:0回答:3

我知道如何使用

openssl
签署 CSR,但结果证书是 x509 v1,而不是 v3。

我正在使用以下命令:

x509 -req -days 365 -in myCSR.csr -CA myCA.crt -CAkey myCA.key -CAcreateserial -out userCertificate.crt

我已经搜索过但未能找到解决方案。还有其他方法可以以编程方式执行此操作吗?

openssl certificate x509 csr code-signing-certificate
3个回答
60
投票

您需要指定一个扩展文件。

例如:

openssl x509 -days 365 -in myCSR.csr -extfile v3.ext -CA myCA.crt -CAkey myCA.key -CAcreateserial -out userCertificate.crt

扩展文件 (v3.ext) 可能如下所示:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment

7
投票

如果您也有 -req,则 gtrig 的答案有效。没有它对我来说就不起作用。

所以命令是:

openssl x509 -req -in myCSR.csr -extfile v3.ext -CA myCA.crt -CAkey myCA.key -CAcreateserial -out userCertificate.crt  -days 365

(必须给出新答案,因为我没有足够的代表来发表评论)。


0
投票

我需要做同样的事情,但将其设为 V2。 我该怎么做? 看起来好像是内容中的东西。

还有一种方法可以仅使用命令行而不是外部文件来做到这一点?

© www.soinside.com 2019 - 2024. All rights reserved.