cannot pass in input and passphrase at the same time in batch mode?

Harry lufei at yahoo.com
Fri Jun 19 02:41:11 CEST 2009


Hello guys,

I ran into a problem when using gpg to sign and encrypt. I have a test run below (in bash):

$echo abcd | gpg -u bob at xyz.com --output message.pgp -r alice at 123.com -se --passphrase-fd 0 << EOF
<123456
<EOF

There is no error but after decrypt message.pgp, the file content is empty. In above run, "abcd" is the input plain text to be encrypted, 123456 is the passphrase for bob at xyz.com's private key that is used for signing the file.

My requirements are "abcd" can not be saved in a file, it has to be sent to gpg as stdin. So is the passphrase, it can not be saved in a file too.

It looks like when input and passphrase are all passed in as stdin, gpg only takes passphrase and consider input text as empty, which result into an empty encrypt file.

Is there anyway to solve this?

I tried

$echo abcd | gpg -u bob at xyz.com --batch --output message.pgp -r alice at 123.com -se --passphrase "123456"

but gpg gave error like:
gpg: skipped `bob at xyz.com': bad passphrase
gpg: [stdin]: sign+encrypt failed: bad passphrase

Thanks!


      



More information about the Gnupg-users mailing list