我正在编写一个用Python生成CSR的脚本。剧本很简单。我使用以下方法生成RSA私钥:
keycmd = "openssl genrsa -out mykey.pem 2048"
keyprocess = Popen(keycmd, shell=True, stdout=PIPE)
csrcmd = "openssl req -new -key mykey.pem -subj "+ subj + " -out mycsr.csr"
reqprocess = Popen(csrcmd, shell=True, stdout=PIPE)
但是,我想添加的功能是用密码加密私钥是用户所希望的。这通常是通过在genrsa命令中包含“-des3”选项来实现的,但是我不知道如何将一个字符串从Python标准输入管道传输到OpenSSL进程。如有任何帮助,将不胜感激。在
我想做的是:
^{pr2}$但是它不起作用,脚本只是冻结,永远不会超过第一个communication语句。在
你试过Pexpect模块了吗?在
将选项
-passout stdin
添加到openssl genrsa
命令中,它将从标准输入中读取密码短语。这样您就可以通过communicate
发送它。在您可以向
-passout
选项提供其他几个值,以从其他源获取密码短语。有关详细信息,请参阅OpenSSL man page。在相关问题 更多 >
编程相关推荐