在GPG命令中取消密码短语提示

时间:2018-03-02 15:37:30

标签: prompt gnupg passphrase

已编辑版本

我有一个关于GPG的问题,但我写了所有的过程,也许它会帮助别人。

我想:在GPG命令中禁用密码提示。我不想:使用-c选项(--symmetric)。

我有2个系统Linux和Windows。我想将数据从Linux发送到Windows。我想在Linux中加密数据并在Windows中解密。

  • myFileOnLinux.txt是Linux上我要加密的文件。
  • my@Email.com配对密钥的UID。
  • myPasswordPhrase是密码短语。

我在两者上安装了GPG并执行了以下步骤:

  1. Windows中生成一对密钥:

    gpg --gen-key
    
  2. 更改Windows中的关键参数:

    gpg --edit-key my@Email.com
    
    trust
    5
    expire
    0
    
  3. 导出公钥:

    gpg -a --export my@Email.com > public.key
    
  4. 将公钥发送到Linux计算机。

  5. 在Linux中导入公钥。

    gpg --import public.key
    
  6. 更改Linux中的trust参数

    gpg --edit-key my@Email.com
    
    trust
    5
    
  7. 在Linux中加密文件

    gpg --output output.enc --encrypt --recipient my@Email.com myFileOnLinux.txt
    
  8. 将加密文件发送到Windows。

  9. 解密文件。

    gpg --batch --passphrase "myPasswordPhrase" -d -o test.dec output.enc
    
  10. 在带有弹出窗口的Windows中,它再次向我询问Passphrase。我怎么能避免它?

2 个答案:

答案 0 :(得分:8)

经过大量挖掘后,我发现这个命令会禁用Windows上的输入提示:

--pinentry-mode=loopback

完整的命令是:

gpg --pinentry-mode=loopback --passphrase  "PASSWORD" -d -o "PATH\TO\OUTPUT" "PATH\TO\FILE.gpg"

答案 1 :(得分:2)

gpg --batch --import sec.key
gpg -d --batch --passphrase mypassphrase encrypted_file.gpg

--batch 标志在导入密钥和解密文件时抑制密码提示。