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 — Decrypts a given text
Opis
string gnupg_decrypt
( resource
$identifier
, string $text
)Decrypts the given text with the keys, which were set with gnupg_adddecryptkey before.
Parametry
-
identifier -
Identyfikator gnupg, do wywołania funkcji gnupg_init() lub gnupg.
-
text -
The text being decrypted.
Zwracane wartości
On success, this function returns the decrypted text.
On failure, this function returns FALSE.
Przykłady
Przykład #1 Procedural gnupg_decrypt() example
<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>
Przykład #2 OO gnupg_encrypt() example
<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>
Mike
28-Jan-2010 05:26
