As of gnupg version 2, it is not possible to pass a plain password any more. The parameter is simply ignored. Instead, a pinentry application will be launched in case of php running in cli mode. In cgi or apache mode, opening the key will fail.
The simplest solution is to use keys without passwords.
gnupg_decrypt
(PECL gnupg >= 0.1)
gnupg_decrypt — Desencripta un texto dado
Descripción
string gnupg_decrypt
( resource
$identifier
, string $text
)Desencripta un texto dado con las claves, establecidas anteriormente con gnupg_adddecryptkey.
Parámetros
-
identifier -
El identificador gnupg, desde una llamada a gnupg_init() o gnupg.
-
text -
El texto a ser desencriptado.
Valores devueltos
En caso de éxito, esta función retorna el texto desencriptado.
En caso de fallo, la función retorna FALSE.
Ejemplos
Ejemplo #1 Ejemplo de gnupg_decrypt() mediante funciones
<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>
Ejemplo #2 Ejemplo de gnupg_encrypt() mediante OO
<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>
Mike ¶
3 years ago
