showkey
showkey

Reputation: 310

How to send the password automatically in gpg's symmetric encryption?

I want to make a symmetric encryption for the file /tmp/public.txt. To do this I can use gpg as following:

gpg --symmetric /tmp/public.txt

The command will invoke the enter passphrase window, but I would like to send the password automatically.

enter image description here

I have tried with:

echo "mylongpasswordhere"  | gpg --passphrase-fd 0   --symmetric /tmp/public.txt

but the Enter passphrase window still pop up.

How to send the password automatically in gpg's symmetric encryption?

Upvotes: 7

Views: 3699

Answers (3)

jakub-olczyk
jakub-olczyk

Reputation: 173

Since I stumbled on this question having the same problem, I'll post the answer that actually helped me (from other SE question). The key options here are --batch --yes:

$ gpg --passphrase hunter2 --batch --yes --symmetric file_to_enc

(Taken from this question )

That way you can actually encrypt a file symmetrically supplying the key as commandline argument, although this might mean that other users of the system might see the passphrase used.

Upvotes: 8

Andre Heinecke
Andre Heinecke

Reputation: 616

Depending on your GnuPG version (>= 2.1.0 ) you need to add "--pinentry-mode loopback" to the command.

For GnuPG version >= 2.1.0 but < 2.1.12 you also need to add: "allow-loopback-pinentry" to the ~/.gnupg/gpg-agent.conf

Your command would then be:

echo "mylongpasswordhere"  | gpg --pinentry-mode loopback --passphrase-fd 0   --symmetric /tmp/public.txt

Alternatively you don't have to use passphrase-fd and the echo but can directly provide the passphrase:

gpg --pinentry-mode loopback --passphrase "somepass" --symmetric /tmp/public.txt

Upvotes: 3

showkey
showkey

Reputation: 310

key="it is a long password to encrypt and decrypt my file in symmetric encryption
"

Encypt public.txt.

openssl enc -des3 -a -salt -in public.txt -k ${key} -out public.asc

Decrypt public.asc.

openssl enc -d -des3 -a -salt -k ${key} -in public.asc -out public.out

Can i draw a conclusion that openssl is a more powerful tool for encryption than gpg?

Upvotes: 0

Related Questions