Como hacer que trabajen juntos PHP y GPG

Iniciado por JUCA, 12 Septiembre 2008, 15:08 PM

0 Miembros y 2 Visitantes están viendo este tema.

JUCA

Tengo la clave de gpg generada .

Y para firmar un documento pongo lo siguiente en una ventana de terminal:

gpg --output cifrado.gpg --sign original.pdf

Luego me pide que ingrese mi contraseña y el proceso termina perfecto.

Ahora la idea es que utilizando PHP poder realizar este procedimiento y mandar como argumento la clave para que el proceso se haga automaticamente incluso si es con muchos archivos.

Si alguien se le ocurre algo espero sus respuestas.

Saludos
JUCA

SirLanceCC

mmmmm hay una función en php para ejecutar algo en la línea de comandos. Si puedes poner tu contraseña como parametro del comando gpg sería muy fácil.

http://mx2.php.net/function.exec
http://mx2.php.net/manual/es/function.shell-exec.php

JUCA

Esa funcion ya la conozco.
Pero lo que necesito es enviar como parametro la clave para que se pueda hacer de forma automatica la firma.

Por eso pregunto si alguien sabe si es posible?

Yo he leido la documentacion de gpg pero no da esa opcion pero no se si existe alguna opción???

Saludos
JUCA

SirLanceCC

no se nada de gpg.

Pero se me ocurre... haces el archivo pass.txt
y luego ejecutas el comando así

gpg --output cifrado.gpg --sign original.pdf < pass.txt


debería funcionar no?
si no pregunta en linux quiza sepan más!


Saludos

JUCA

Esto no es problema el ejecutar esto:

gpg --output cifrado.gpg --sign original.pdf < pass.txt

Pero luego de esto pide que se escriba la clave y eso es lo que necesito mandar tambien la clave o evitarme ese paso.

Alguna otra idea?

Saludos
JUCA

SirLanceCC

lo intentaste?

En el archivo de texto pass escribes la contraseña y un salto de linea (enter)

ejecutable < pass.txt
Estas convirtiendo pass.txt en la entrada estandar del programa, es decir que es como si tu lo estuvieras escribiendo en él.

pruebalo asi en la linea de comandos y según yo debería funcionar. Si no pues no se.

JUCA

No lo intento todavia.
Antes una pregunta más.

El codigo quedaria asi:
<?php
 
echo exec('C:\gnupg\gpg -o prueba_ingreso.gpg -s prueba_ingreso.doc < pass.txt');
?>


Y pass.txt estaria guardado en la carpeta C:\gnupg\ ??

Saludos
JUCA


JUCA

Ya lo probe.
Pero solo pasa sin hacer nada más. Es como si no estuviera, alguna otra idea?

Saludos
JUCA