【发布时间】:2013-07-22 13:42:08
【问题描述】:
我完全被一个 pgp 问题所困扰,但我想这更像是一个逻辑问题而不是技术问题 - 无论如何,我不明白。
目标是使用 gpg4win (www.gpg4win.de/index.html) 加密文件并使用 PHP (gnupg) 解密。
我做的第一件事是,我使用 gpg4win 创建了一个证书,设置了密码并加密了一个简单的文本文件 (ASCII)。然后我上传文件并尝试使用以下代码对其进行解密:
$content = file_get_contents("some-test-data.asc");
$gpg = new gnupg();
$gpg -> adddecryptkey("MYFINGERPRINT","my.pass.phrase");
$plain = $gpg -> decrypt($content);
var_dump($plain);
结果是: 布尔(假)
我做错了什么?我尝试了不同的代码和建议,但总是以 bool(false) 结束。
这些方法不兼容吗,我必须使用不同的应用程序吗?
感谢我能得到的每一个小小的帮助。非常感谢!
附: PHP 是用 gnupg 编译的 GPGme 版本 1.4.2 扩展版本 1.3.3-dev
【问题讨论】:
-
试试
echo $gpg -> geterror();看看问题 -
您是否将您的私钥复制到服务器?提供密码是不够的,这只会解密仍然需要的私钥(在正确的密钥环中)。
-
我必须将私钥复制到哪个位置以及如何告诉脚本使用哪个密钥?
-
@DevZer0:错误是:“get_key failed”