openssl 证书生成命令

15 openssl ssl-certificate

我正在使用 OpenSSL 制作自签名证书。我想一次性制作证书,这意味着它不会要求我输入公司名称、通用名称等。无论如何,是否可以像开关一样执行此操作,例如/noprompt我可以输入所有字段的任何其他方法一气呵成。以下命令是否有可能在按下 Enter 后接受此调用中的所有参数

openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem
Run Code Online (Sandbox Code Playgroud)

bah*_*mat 26

编辑:此问题已作为OpenSSL的副本关闭而没有 prompt。在那里也看到我接受的答案。现在,此答案也已使用 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

  • 杰出的。我不知道非交互式组件,而这正是我配置 Vagrant VM 所需要的。 (2认同)

Sha*_*dok 0

您可以预先填写一个文件以自动执行创建证书的过程,在名为:

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

链接: http: //www.openssl.org/docs/apps/req.html#EXAMPLES