San*_*kas 5 php encryption gnupg gpgme
我即将使用 gnupg 来加密和解密文件。奇怪的是,加密工作正常,但解密总是返回假。
这里有一个简单的 php 脚本加密和解密内容:
$content = 'test text';
putenv("GNUPGHOME=/PATH_TO_GPG_PATH");
$gpg = new gnupg();
$gpg->addencryptkey("FINGERPRINT");
$enc = $gpg->encrypt($content);
var_dump($enc);
$gpgD = new gnupg();
$gpgD->adddecryptkey("FINGERPRINT","PASSPHRASE");
$plain = $gpgD->decrypt($enc);
var_dump($plain);
Run Code Online (Sandbox Code Playgroud)
版本
Debian 软件包
gpgv 1.4.18-7
libgpgme11:amd64 1.5.1-6
佩尔
包版本状态 gnupg 1.4.0 稳定
PHP版本: PHP 7.1.11-1+0~20171027135825.10+jessie~1.gbp2e638d
有人遇到过这个问题吗?我没有想法了。先感谢您。
您尝试过调用gnupg_geterror()之后吗gnupg_adddecryptkey()?我怀疑你的私钥实际上没有被接受。我认为它需要位于 PHP 用户的 GPG 密钥环中?另外,在我运行的几个简短测试中,我不断收到终端上输入密码的提示,但这可能是因为我偏执的 gpg 配置(我完全禁用了密码缓存)。
捕获错误的另一种方法是设置为gnupg_seterrormode()或ERROR_EXCEPTION类似以查看实际发生的情况......
| 归档时间: |
|
| 查看次数: |
1557 次 |
| 最近记录: |