我正在尝试使用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";
感谢您的帮助,我们将不胜感激!
答案 0 :(得分:1)
结果是服务器上的权限设置不正确。目录&#34; /root/.gnupg"具有完全读取权限但没有写入权限。