我试图使用GPG解密文件,我使用了" Starksoft.Cryptography.OpenPGP"。我收到以下错误
Starksoft.Cryptography.OpenPGP.GnuPGException: An error occurred while trying to execute command --list-secret-keys.
但是当我通过命令提示符"> gpg --list-secret-keys"执行命令时,它会列出键。我无法得到" Starksoft.Cryptography.OpenPGP"工作正常。
接下来,我尝试使用cmd.exe直接运行该过程来获得解决方案。但是,以下命令均无效:
>echo gpg --passphrase Mypasspharse -o "C:\successtest.txt" -d "C:\testfile.txt.gpg"
>echo Mypasspharse|gpg.exe --passphrase-fd 0 -o "C:\successtest.txt" --decrypt "C:\testfile.txt.gpg"
>echo Mypasspharse|gpg --keyring "pubring.gpg location" --secret-keyring "secring.gpg location" --batch --yes --passphrase-fd 0 -o "C:\successtest.txt" -d "C:\testfile.txt.gpg"
>echo Mypasspharse|gpg -o C:\successtest.txt --batch --passphrase-fd 0 --decrypt C:\testfile.txt.gpg
>echo Mypasspharse|gpg2 --batch --passphrase-file "PrivateKey.asc location" --output C:\successtest.txt --decrypt C:\testfile.txt.gpg
Error Message : gpg: public key decryption failed: Bad passphrase
gpg: decryption failed: No secret key
有人可以告诉我如何解密文件吗?
答案 0 :(得分:0)
我找出了gpg命令行的问题。第二个命令行运行得很好。
echo Mypasspharse | gpg.exe --passphrase-fd 0 -o" C:\ successtest.txt" --decrypt" C:\ testfile.txt.gpg"
问题是:
Mypassphare contained a character ">" which interpreted as std out redirect in windows command prompt. So, passphase wasn't passing to the next command properly.
由于此命令正常工作,我没有检查其他语法。如果错误,请随时查看其他命令并在此处更新。
我总结了Q& A:http://techsharehub.blogspot.com/2014/09/gpg-public-key-decryption-failed-bad.html