通过网络界面,我试图检查给定的公钥是否有效。bash 命令根据给定的密钥gpg --import key.pub
返回import successful/failed
,但我不想$data = system("/usr/bin/gpg --import $key)
用于我自己的安全问题。有替代方案吗?
问问题
3827 次
2 回答
1
好的,我做了一些调试,这就是我发现的:
nginx 守护进程正在运行nginx:nginx
,没有主目录,nologin shell
当我执行sudo -u nginx php -r "echo system("gpg -k");"
我有/home/nginx/.gnupg: directory does not exist!
所以我执行了以下操作:
mkdir -p /home/nginx/.gnupg; chown -R nginx:nginx /home/nginx/
然后,测试是否有效:
sudo -u nginx php -r "echo system("gpg --homedir /home/nginx/.gnupg --dry-run --batch --import key.pub");
我有输出!
于 2012-11-21T17:58:50.277 回答
0
安装扩展是您的选择吗?因为您可以使用PECL/gnupg扩展中的gnupg_import()和gnupg_keyinfo()函数的组合。
gnupg_keyinfo()
返回属性数组,并且在这种情况下有各种有用的键。见:http ://svn.php.net/viewvc/pecl/gnupg/trunk/gnupg.c?revision=330955&view=markup#l662
于 2013-12-05T16:51:11.363 回答