我正在使用 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
您可以预先填写一个文件来自动执行创建证书的过程,该文件位于以下部分:
“提示输入字段值的示例配置文件”