19
votes

Edited Version

I have a question about GPG, but I write all of the process, maybe it will help someone.

I want to: Suppress the passphrase prompt in GPG command. I don't want to: use -c option (--symmetric).

I have 2 systems Linux and Windows. I want to send the data from Linux to Windows. I want to encrypt the data in Linux and decrypt in Windows.

  • myFileOnLinux.txt is a file on Linux that I want to encrypt.
  • [email protected] the UID of pair key.
  • myPasswordPhrase is the password phrase.

I installed GPG on both and did the steps:

  1. Generate a pair key in Windows:

    gpg --gen-key
    
  2. Change the key parameter in Windows:

    gpg --edit-key [email protected]
    
    trust
    5
    expire
    0
    
  3. Export the public keys:

    gpg -a --export [email protected] > public.key
    
  4. Send the public key to the Linux machine.

  5. Import the public key in Linux.

    gpg --import public.key
    
  6. Change the trust parameter in Linux

    gpg --edit-key [email protected]
    
    trust
    5
    
  7. Encrypt a file in Linux

    gpg --output output.enc --encrypt --recipient [email protected] myFileOnLinux.txt
    
  8. Send the encrypted file to Windows.

  9. Decrypt the file.

    gpg --batch --passphrase "myPasswordPhrase" -d -o test.dec output.enc
    

In Windows with a popup window it asked me the Passphrase again. How can I avoid it?

2
Try --passphrase-file option.i486
The same problem :(Malus Jan
@i486 Thanks, but as I mentioned, I don't want use -c as option.Malus Jan
@MalusJan were you able to get this resolved? I am facing similar issue on gnupg2.x for Windows.Ditty

2 Answers

55
votes

After a lot of digging I found this command which disables the entry prompt on windows(works also for *nix systems):

--pinentry-mode=loopback

The full command would be:

gpg --pinentry-mode=loopback --passphrase  "PASSWORD" -d -o "PATH\TO\OUTPUT" "PATH\TO\FILE.gpg"
3
votes
gpg --batch --import sec.key
gpg -d --batch --passphrase mypassphrase encrypted_file.gpg

the --batch flag supresses the passphrase prompt while importing keys as well as while decrypting the files.