生成 OpenSSL 证书时如何自动化 PEM 密码?

How to automate PEM pass phrase when generating OpenSSL cert?

我需要自动生成自签名 SSL 证书以用于项目测试。我正在使用以下 OpenSSL 命令生成证书和密钥:

> openssl req -x509 -newkey rsa:2048 -keyout myserver.key -out myserver.crt -subj "/C=US/ST=California/L=San Diego/O=Development/OU=Dev/CN=example.com"

在生成过程中,系统会提示您创建 PEM 密码短语:

Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

我怎样才能使它自动化?我试过这样的 -passin 论点:

openssl ...... -passin pass:foobar .....

还有

openssl ...... -passin file:secretfile.txt .....

但在这两种情况下,它仍然要求创建 PEM pass phrase。根据我的阅读,我认为 passin 只是在密钥文件中添加密码...

是否可以通过某种方式自动执行此操作?

该过程创建一个受密码保护的密钥文件。因此它需要一个用于存储此 output 文件的密码。但是您使用的 -passin 参数用于读取 input 文件。来自 documentation:

-passin arg - the input file password source

相反,您需要正确的选项来指定输出密码,即

-passout arg - the output file password source