Я использую функции gnupg php для расшифровки файла.
С помощью другого поста здесь мне удалось получить его для перечисления ключей (gnupg_keyinfo
) используя gnupg_import
и изменение владельца каталога gnupg и прав доступа chmod.
Я также могу успешно зашифровать файл, используя gnupg_encrypt
,
Но когда дело доходит до расшифровки файла с помощью gnupg_decrypt
это не работает с сообщением об ошибке, которое читает:
Warning: gnupg::adddecryptkey(): get_key failed
Это код, который я использую для шифрования, а затем расшифровать файл:
$CONFIG['gnupg_home'] = '{{PATH}}';
$CONFIG['gnupg_fingerprint'] = '{{FINGERPRINT}}';
$data = 'Info to encrypt/decrypt';
$gpg = new gnupg();
putenv("GNUPGHOME={$CONFIG['gnupg_home']}");
$gpg->seterrormode(GNUPG_ERROR_WARNING);
$gpg->addencryptkey($CONFIG['gnupg_fingerprint']);
$encrypted = $gpg->encrypt($data);
echo "Encrypted text: \n<pre>$encrypted</pre>\n";$plain_text = '';
$passphrase = '';
$gpg->adddecryptkey($CONFIG['gnupg_fingerprint'], $passphrase);
$decrypted = $gpg->decrypt($encrypted);
echo "Decrypted text: $decrypted";
Я пробовал это с парольной фразой, и она не работала, а затем прочитал, что она больше не использует парольную фразу, поэтому я попробовал ее без нее.
У меня есть chmod 700 до ~ / .gnupg и chmod 600 до ~ / .gnupg / *
Путь к gnupghome правильный, так же как и путь, который я использую для gnupg_keyinfo
и есть 2 отпечатка пальца, которые возвращаются от этого, и я попробовал это с обоими.
Я гуглил это и видел людей с такой же проблемой, но не могу найти ответ на проблему.
Спасибо
Задача ещё не решена.
Других решений пока нет …