使用gpg传递密码短语文件来解密文件

时间:2017-08-04 16:15:17

标签: vb.net gnupg

我需要使用shell从文件中传递密码,并希望注释行可以从此文件中读取密码, - passphrase-fd对我不起作用。它始终输出错误“找不到文件”。我调试输出和输入文件,它们是正确的。可能是passphrase.cat文件,但我检查过,文件中没有问题。注释行中的任何问题??

我的代码如下,感谢您的帮助:

                        Shell(pgp & "--passphrase -fd 0 <C:\Temp\test.txt" & " -output " & output & "--decrypt " & input & """", AppWinStyle.Hide, True) ' the error happens here.


                    End If

'''  The error as follows: 
 ''' Unable to complete the request: System.IO.FileNotFoundException: File not found. at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout) at the Sign_Click(object sender, EventArgs e) in C:\sign\MainForm.vb:line361

1 个答案:

答案 0 :(得分:0)

我期待一大堆问题。要进一步调试,请将命令打印到命令行,而不是使用Shell(...)执行它。

  • 我猜pgp变量不以空格结尾,因此应用程序尝试使用C:\path\to\gnupg\gpg.exe--passphrase参数执行类似C:\path\to\gnupg\gpg.exe而不是--passphrase的操作
  • output变量和--decrypt命令
  • 之间可能存在同样的问题
  • --passphrase-fd内可能没有空格,您写了passphrase -fd
  • --output是一个很长的参数,需要两个破折号(你写了-output