none
PGP解密 RRS feed

  • 问题

  • 使用Process执行GPG程序,使用命名行的方式传递参数

    string argumens = string.
                    Format("--always-trust --passphrase \"{0}\" -o \"{1}\" -d \"{2}",
                    "12345678", savePath, txtDecryptFileName.Text);

    已经在这句中传入了密钥的密码,为什么调用界面时,第一次总是弹出输入密码(后面不会提示,除非注销或重启电脑)

    有办法可以让它第一次解密时,也不弹出密码吗,不知道该在命名行中加哪个参数

    ====C#调用GPG解密代码============================================  

    private void btnPGPDecrypt_Click(object sender, EventArgs e)
            {
                string savePath = "";
                SaveFileDialog dlg = new SaveFileDialog();
                dlg.Filter = "(*.jpg)|*.jpg";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    savePath = dlg.FileName;
                }
                else
                {
                    return;
                }
                string argumens = string.
                    Format("--always-trust --passphrase \"{0}\" -o \"{1}\" -d \"{2}",
                    "12345678", savePath, txtDecryptFileName.Text);

                Process procDecrypt = new Process();
                procDecrypt.StartInfo.FileName = "gpg2.exe";
                procDecrypt.StartInfo.Arguments = argumens;
                //需要判断程序执行完毕
                procDecrypt.EnableRaisingEvents = true;
                procDecrypt.Exited += new EventHandler(procDecrypt_Exited);
                procDecrypt.Start();
            }

    2015年3月9日 7:54

答案

  • 已经找到相关命令

    --用如下参数不会弹出密码框,主要是要加上--batch
    gpg --passphrase "12345678" --batch -o "d:\11122pd.jpg" -d "d:\2015351558426.jpg.asc"

    希望以后对大家有用

    2015年3月10日 9:25

全部回复

  • 提示内容如下,我的密码为“12345678”

    You need a passphrase to unlock the secret key for
    user: "pigeon (test) <li163.com>"
    2048-bit RSA key, ID 86773EB2, created 2015-03-09 (main key ID 945919E4)

    gpg: encrypted with 2048-bit RSA key, ID 86773EB2, created 2015-03-09
          "pigeon (test) <li163.com>"

    //密码已经在这句设置了

    string argumens = string.
                    Format("--always-trust --passphrase \"{0}\" -o \"{1}\" -d \"{2}",
                    "12345678", savePath, txtDecryptFileName.Text);

    2015年3月9日 7:55
  • 有办法可以让它第一次解密时,也不弹出密码吗,不知道该在命名行中加哪个参数

    你好:

    建议你首先查一下PGP的文档,检查一下传递的参数是否格式正确,或者模拟命令行窗口执行该应用程序。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年3月10日 7:25
    版主
  • 已经找到相关命令

    --用如下参数不会弹出密码框,主要是要加上--batch
    gpg --passphrase "12345678" --batch -o "d:\11122pd.jpg" -d "d:\2015351558426.jpg.asc"

    希望以后对大家有用

    2015年3月10日 9:25