I have an odd situation here, maybe one of you can help. We have a script that runs via a cron job. It's purpose is to decrypt PGP-encrypted files in a certain directory. I have tried the command two different ways, both fail with the same error message:
gpg --decrypt $file > ${file%.txt}.decrypted.txt gpg --output ${file%.txt}.decrypted.txt --decrypt $file
(Don't even ask about the name substitution. The end-user insists they MUST submit files with a .txt extension, and not .pgp or .gpg)
Anyway, I can run the script fine from a login shell. It works beautifully. But when it runs from a cron job two things happen:
1. A file of zero size is created called file.decrypted.txt 2. The error message in the cron email I get says:
gpg: encrypted with ELG-E key, ID XXXXXXXX gpg: decryption failed: secret key not available
Why does it say "secret key not available"? The output of gpg -K shows that the key is in fact available, and this is further confirmed when I run the script manually and the files are decrypted just fine.