PHP GnuPG加密问题

时间:2013-12-24 11:40:12

标签: php apache gnupg

我正在尝试使用Rackspace上托管的Linux服务器上的PHP GnuPG库加密字符串,但无论我尝试什么,我都会收到错误消息。请参阅以下内容:

致命错误:在/var/www/vhosts/royal/facebook/email-sign-up/encrypt.php:10堆栈中,消息“无加密密钥”的未捕获异常“异常”跟踪:#0 /var/www/vhosts/royal/facebook/email-sign-up/encrypt.php(10):gnupg-> encrypt('这是一些合作......')#1 {main}抛出在第10行的/var/www/vhosts/royal/facebook/email-sign-up/encrypt.php

我已经检查过GnuPG库是否已在服务器上正确安装,我正在使用正确的密钥指纹,并且服务器有权读取/写入GNUPGHOME目录。

请参阅下面的我正在使用的PHP代码:

$gpg = new gnupg();
putenv("GNUPGHOME=/root/.gnupg");
$gpg->seterrormode(GNUPG_ERROR_SILENT);
$gpg->addencryptkey('********************************');
$gpg->seterrormode(gnupg::ERROR_EXCEPTION); // throw an exception in case of an error
$encrypted =  $gpg->encrypt('this is some confidential information');
echo "Encrypted text: \n<pre>$encrypted</pre>\n";

感谢您的帮助,我们将不胜感激!

1 个答案:

答案 0 :(得分:1)

结果是服务器上的权限设置不正确。目录&#34; /root/.gnupg"具有完全读取权限但没有写入权限。