Does that mean that there is no way to achieve this with PHP and that I should rather use the --passphrase-fd argument?
Thanks,
Pierre-Luc
Evan Nemerson wrote:
GnuPG doesn't use stdin to read the password, which is where you're sending it. It uses a more low-level interface (check out the below link if you're interested) where they interact directly with the virtual console.
Try piping to your command- that won't work either
echo $PASSPHRASE | \ /usr/bin/gpg \ --homedir=/path/to/.gnupg \ --no-secmem-warning \ --always-trust \ --yes \ --output /path/to/output.txt \ --decrypt /path/to/testtext.asc
GnuPG source code for TTY I/O: http://cvs.gnupg.org/cgi-bin/viewcvs.cgi/*checkout*/gnupg/util/ttyio.c?rev=1.28&content-type=text/plain
On Wed, 2003-05-28 at 16:14, Pierre-Luc Soucy wrote:
Hi,
I would like to decrypt data encoded with GnuPG without including the private key passphrase in the command to prevent people from viewing it with "ps".
Here is the code I wrote:
====
$command = "/usr/bin/gpg --homedir=/path/to/.gnupg --no-secmem-warning --always-trust --yes --output /path/to/output.txt --decrypt /path/to/testtext.asc";
$passphrase = '***********';
$fp = popen($command, 'w+'); fputs($fp, $passphrase); pclose($fp);
print "Done"; exit; ======
I assumed that the fputs() function would write the passphrase at the prompt, but that doesn't seem to be the case - the command does not create the output.txt file when ran by the PHP program (which is running as a CGI under my user BTW) while it works when ran from the shell.
Any idea why?
Thanks!
Pierre-Luc Soucy
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php