因此,这个问题的更大背景是,无论出于何种原因,使用Bouncy Castle解密此文件是不可能的,因此我们尝试使用普通的gpg实用程序来执行自动命令行...我原本以为这比想弄清楚为什么Bouncy Castle不相信这是一个真正的PGP加密文件会更快,但我可能错了。
这是管道:
echo password | gpg --batch --yes --passphrase-fd 0 "filename"
这在Powershell中非常有效。实际上,在Powershell中,这项工作的几个变化非常完美,但这不是重点......
关键是我正在尝试在cmd.exe中运行它并且它在那里不起作用。相反,我得到一个错误,说没有提供密码,因此,没有可用的密钥,因此,文件无法解密。
鉴于我为此读到的指令特别是 cmd.exe(不是Powershell),我有点困惑。知道这里发生了什么吗?
答案 0 :(得分:1)
显然,问题是通过管道传递的密码包含一个空格 - 在我们假设的“d”和管道符号本身之间出现的空格。 :)
因此,为了将来参考,这有效:
echo password|gpg --batch --yes --passphrase-fd 0 "filename"
顺便说一句,这正是指南所说的,但是我从来没有抓过,因为我在Powershell进行了初步测试,并没有意识到挑剔的cmd的回声命令是多么的。