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



我知道如何使用openssl签署CSR,但结果证书是x509 v1,而不是v3。

我使用以下命令:

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

我已经搜索过了,但一直找不到解决方案。有没有其他方法可以通过编程实现这一点?

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

例如:

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

如果您也有-req,那么gtrig的答案就会起作用。没有这个对我来说是行不通的。

所以命令是:

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

(由于我没有足够的代表发表评论,不得不给出一个新的答案)。

最新更新