in reply to
CGI won't execute GPG properly...
I am required to mention that you might consider programming Perl with #!/usr/bin/perl -w, use strict, and (in this case) use CGI. These may make your life easier in the future.
But to your immediate question, why don't you try writing a quick command-line-only version of this? Example:
my $gpgpath = "/usr/bin/gpg";
my $gpguser = "xxxxxxxx\@xxxxxxxxx.com";
my $filenum = 'set_to_test_path';
$gpgcommand = "$gpgpath --batch --always-trust --eatr -a -r $gpguser -
+o tmpMessages/$filenum.enc -e";
print $gpgcommand, "\n";
my $gpgresults = `$gpgcommand`;
print $gpgresults, "\n";
That way Apache isn't interfering. You can also test your CGI scripts from a command line (so that Apache configuration is not the issue), by running this with perl script.pl
. You will have to enter any form information by hand key=value
and press return, then this will dump output to STDOUT. Either of these methods will allow you to see the warnings (provided you add -w
to your shebang line), which may be very informative. Don't forget to execute these using the same login that the Apache process will have.