脚本从命令行填写密码

时间:2012-01-09 17:33:02

标签: php linux bash shell openssl

我有来自php (exec())

的此命令
openssl pkcs12 -export -in cert.pem -inkey key.pem -out cred.p12

然后我需要输入两次密码

Enter Export Password:
Verifying - Enter Export Password:

我需要填充密码输入的脚本,因为exec()只会执行该命令,但不会插入密码两次。你知道我应该怎么做吗?

1 个答案:

答案 0 :(得分:2)

真正的双向shell在php中并不容易,但在这种情况下,您只需使用换行符来模拟输入。

exec("Command\nPassword\nPassword");

要获得真正的双向(读取和写入)可能性,您需要查看proc_open()。 如果您不需要返回输出,则可以在popen()模式下使用更简单的w,但是您需要验证命令是否已成功运行,因为您将无法获得输出或错误代码回来。