GnuPG in PHP failing with error code 2
Peter Gillett
peter@tallwomensclothing.com
Thu Aug 8 13:24:01 2002
> I'm writing a php script to encrypt
> some data into a file using
> GnuPG.
>
> Any help with this would be greatly
> appreciated! This issue is
> holding up a major project I'm working on.
>
Frank,
here is a perl script I use that may be of
help....
$gpg_path = "good_path/gpg.exe";
$gpg_options = "--homedir
good_path/gpg --batch --no-version --no-tty --alwa
ys-trust -ear";
$gpg_public_key_user_id = "blah\@blah.com.au";
sub make_gpg_file {
local($output_text, $output_file) = @_;
local($gpg_output);
$gpg_command = "$gpg_path $gpg_options ";
$gpg_command .= "$gpg_public_key_user_id ";
$gpg_command .= ">$output_file";
open (gpgCOMMAND, "|$gpg_command");
print gpgCOMMAND $output_text;
close (gpgCOMMAND);
open(gpgOUTPUT, $output_file);
while (<gpgOUTPUT>) {
$gpg_output .= $_;
}
close (gpgOUTPUT);
unlink($output_file);
return($gpg_output);
1;
It takes $output_text, encrypts it to
$output_file,
then returns $output_file into $gpg_output,
then deletes $output_file. It is called from
a perl shopping cart script.
The only thing that it needs to work is for
trustdb.gpg
and random_seed to be read/write in homedir, while
pubring.gpg and secring.gpg can be read only in
homedir.
Pubring.gpg can be read only in homedir, and gpg
will create a zero byte length secring.gpg the
first
time it is run. This can also be set to read only.
hope this is of some use,
Peter