openssl 证书生成命令

openssl 证书生成命令

我正在使用 OpenSSL 制作自签名证书。我想一次性制作证书,这意味着它不会要求我输入公司名称、通用名称等。有没有办法做到这一点,例如 switch/noprompt或其他任何方式,让我可以一次性输入所有字段。以下命令是否有可能在按下 Enter 后接受此调用中的所有参数

openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem

答案1

编辑:该问题已关闭,因为重复了OpenSSL 无提示。另请参阅我在那里接受的答案。此答案现在也已更新为 ECDSA 变体。如果您可以使用 ECDSA,那么您应该这样做。

您需要将主题指定为命令的一部分。

此命令是一步式、非交互式、自签名证书创建。

RSA 版本

openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \
    -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \
    -keyout www.example.com.key \
    -out www.example.com.cert

ECDSA 版本

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
    -days 365 -nodes -x509 \
    -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \
    -keyout www.example.com.key \
    -out www.example.com.cert

答案2

您可以预先填写一个文件来自动执行创建证书的过程,该文件位于以下部分:

“提示输入字段值的示例配置文件”

关联: http://www.openssl.org/docs/apps/req.html#EXAMPLES

相关内容