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:
#!/usr/bin/perl -w
use strict;
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.