警告:gnupg :: adddecryptkey():get_key失败

时间:2016-12-02 13:06:43

标签: php gnupg openpgp

我正在使用gnupg php函数来解密文件。

在这里的另一篇文章的帮助下,我设法通过使用gnupg_keyinfo并更改gnupg目录的所有者和chmod权限来列出密钥(gnupg_import)。

我还可以使用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个指纹从它返回,我已经尝试过它们。

我用谷歌搜索过,我看到有同样问题的人但找不到问题的答案。

谢谢

0 个答案:

没有答案