gpg:公钥解密失败:密码错误

时间:2014-05-07 22:40:14

标签: c# encryption cryptography gnupg

我试图使用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

有人可以告诉我如何解密文件吗?

1 个答案:

答案 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