在shell脚本中没有提示的签名证书

Víc*_*dez 40 openssl certificate

我正在编写一个shell脚本来使用openssl签署证书:

openssl ca -config "$CONF" -out "$BOXCERT" -infiles "$CSRFILE"
Run Code Online (Sandbox Code Playgroud)

但是,在运行它时,openssl总是询问我是否要签署证书:

Certificate is to be certified until Mar 19 11:50:33 2023 GMT (3653 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Run Code Online (Sandbox Code Playgroud)

我希望脚本在服务器中以非交互方式运行.是否有一些命令行参数或配置文件选项告诉OpenSSL签署证书并提交它而不提示?

dwa*_*ter 62

您可以使用-batchopenssl选项.

例如:

 openssl ca -batch -config "$CONF" -out "$BOXCERT" -infiles "$CSRFILE" 
Run Code Online (Sandbox Code Playgroud)

  • 如果您的 ca 密钥有密码短语,那么您还可以使用各种选项(如环境变量和命令行密码)指定它。否则它会提示你。这是一个简单的命令,您可以在其中传递密码短语作为命令的一部分 *openssl ca -batch -config "$CONF" -passin pass:keypassword -out "$BOXCERT" -infiles "$CSRFILE"* (3认同)