Re: [PHP] PHP run from console - automatic password input

2011-11-29 Thread Peter
Unfortunately, this method doesnt work.
I algo tried working with pipes:

#!/usr/bin/php -q
?php
require_once(_cert-manage-functions.php);
//$config = parse_ini_file(/var/www/config.ini, true);

$userId = userCertId(fredfa);
// create descriptors for R/W-pipes
$descriptorspec = array(
 0 = array(pipe, r),
 1 = array(pipe, w),
);

$proc = openssl ca -keyfile ca.key -cert ca.pem -revoke .$userId..pem;

// open process with bidirectional interaction
$process = proc_open($proc, $descriptorspec, $pipes);

// if success, continue
if (is_resource($process)) {
// read until prompt
while (trim(fgets($pipes[0])) != 'Using configuration from
/usr/lib/ssl/openssl.cnf') { }
fscanf($pipes[0], Enter pass phrase for ca.key:);

// enter pass phrase
fwrite($pipes[1], password\n);

// read until EOF
stream_get_contents($pipes[0]);

// release resources
fclose($pipes[0]);
fclose($pipes[1]);
proc_close($process);
}

?

...but the above doesnt work either and i still get enter the passphrase
prompt


2011/11/29 shiplu shiplu@gmail.com



 On Tue, Nov 29, 2011 at 8:21 AM, asdf zxcv jazdatest...@gmail.com wrote:

 I'm trying to make my php script (run from console) to input nesesary data
 when console asks for it.

 For example, i want to automatically manage revoking self-signed
 certificates, but when i exec(command) then system asks me to give the
 pass phrase. I dont want to do that. Instead, I want my script to input
 the
 password automatically.

 Is there any way to achieve that?

 Regards
 Peter



 You could try,

 $pass = 1285@;
 exec(echo $pass | command);

 But if its a privilege issue on your linux system, its better to start the
 php script with proper privilege.

 --
 Shiplu Mokadd.im

 Innovation distinguishes between follower and leader




Re: [PHP] PHP run from console - automatic password input

2011-11-29 Thread shiplu
Did you try -passin, -passout  options of openssl command?

See the man page here http://linux.die.net/man/1/openssl
Specially the Pass phrase arguments section.

-- 
Shiplu.Mokadd.im
ImgSign.com | A dynamic signature machine
Innovation distinguishes between follower and leader


Re: [PHP] PHP run from console - automatic password input

2011-11-29 Thread Peter
passin and passout are not userd during -revoke
They are used to give parameters to create the certificate  and give it the
above parameters.

But,
I think i managed to bypass the problem. I wrote a shell script using
expect, after 30 minutes of fighting, script does what I want it to. It
takes a users cert ID as a parameter and uses it to invoke 'openssl ca
-revoke' command. Thanks to this, i can refer to it prom my php script.

Maybe not the most elegant solution, but it works. And took me about 10
lines of code instead of 60 (non-working lines :) )

Thanks anyway all :)

Cheers



2011/11/29 Peter jazdatest...@gmail.com

 passin and passout are not userd during -revoke
 They are used to give parameters to create the certificate  and give it
 the above parameters.

 2011/11/29 shiplu shiplu@gmail.com

 Did you try -passin, -passout  options of openssl command?

 See the man page here http://linux.die.net/man/1/openssl
 Specially the Pass phrase arguments section.

 --
 Shiplu.Mokadd.im
 ImgSign.com | A dynamic signature machine

 Innovation distinguishes between follower and leader





Re: [PHP] PHP run from console - automatic password input

2011-11-29 Thread Mihamina Rakotomandimby

On 11/30/2011 01:11 AM, Peter wrote:

  I wrote a shell script


Please would you show it?
AFAIK, if Bash can do it, PHP should also...


Thanks.


--
RMA.

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



Re: [PHP] PHP run from console - automatic password input

2011-11-28 Thread shiplu
On Tue, Nov 29, 2011 at 8:21 AM, asdf zxcv jazdatest...@gmail.com wrote:

 I'm trying to make my php script (run from console) to input nesesary data
 when console asks for it.

 For example, i want to automatically manage revoking self-signed
 certificates, but when i exec(command) then system asks me to give the
 pass phrase. I dont want to do that. Instead, I want my script to input the
 password automatically.

 Is there any way to achieve that?

 Regards
 Peter



You could try,

$pass = 1285@;
exec(echo $pass | command);

But if its a privilege issue on your linux system, its better to start the
php script with proper privilege.

-- 
Shiplu Mokadd.im

Innovation distinguishes between follower and leader