Are you appending a newline to your passphrase?

$passphrase = "my gnupg passphrase\n";



On Thursday 29 May 2003 06:56 am, you wrote:
>  From the GnuPG docs:
>
> --passphrase-fd n
>
>      Read the passphrase from file descriptor n. If you use 0 for n, the
> passphrase will be read from stdin. This can only be used if only one
> passphrase is supplied. Don't use this option if you can avoid it.
>
> I added --passphrase-fd 0 to my command so the passphrase should
> normally be read from stdin (according to the docs), but it still does
> not work. Any idea? I am unfortunately not familiar with C code, so I
> can difficultly find solutions to my problems by reading the GnuPG source.
>
> 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?re
> >v=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

-- 

Cats are intended to teach us that not everything in nature has a function.

-Garrison Keillor


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to