GnuPG在Windows上自动执行Sign + Encrypt - passphrase-fd 0问题

时间:2017-07-12 01:27:00

标签: encryption automation stdin gnupg windows-scripting

我目前正在编写一个批处理脚本来自动签署和加密文件,在GnuPG版本2.0.30上。

有人可以解释为什么以下内容无法在我的Windows机器上运行:

echo "passphrase"| gpg2 --batch --yes --always-trust --passphrase-fd 0 -es -r "Public key for encryption" "Path of file to encrypt"

据我所知,这应该是echo(我的密码)的输出作为--passphrase-fd 0的输入(当然在STDIN句柄上运行0)。我似乎无法使用它,并且不确定它是否是我的代码,或者它只是在Windows上运行此问题。

每当我执行此命令时,我都会

 "no default secret key: Bad passphrase"

 "sign+encrypt failed: Bad passphrase" 

作为一种解决方法,我能够使用重定向操作符<并将文件路径传递给我的密码,仍然使用STDIN句柄(0):

gpg2 --batch --yes --always-trust --passphrase-fd 0 -es -r "Public key for encryption" "Path of file to encrypt" < "Filepath to passphrase"

我意识到将密码短语存储在本地文件中是不好的做法,并且可能会考虑完全删除签名,但为了我自己的利益,我想更好地理解为什么这不能使用管道工作(在Windows上)。

谢谢!

0 个答案:

没有答案