【问题标题】:How to automate PEM pass phrase when generating OpenSSL cert?生成 OpenSSL 证书时如何自动化 PEM 密码短语?
【发布时间】:2018-09-25 02:45:32
【问题描述】:

我需要自动生成自签名 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 只是在密钥文件中添加密码......

有可能以某种方式自动化吗?

【问题讨论】:

    标签: ssl openssl passwords tls1.2 passphrase


    【解决方案1】:

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

    -passin arg - 输入文件密码源

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

    -passout arg - 输出文件密码源

    【讨论】:

    • 啊,我完全误解了这一点。谢谢!