gpt4 book ai didi

php gnupg get_key 失败错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:20 33 4
gpt4 key购买 nike

我正在尝试使用 PHP 中的 PGP(gnupg) 解密一条简单消息。但我总是收到此错误:get_key failed。在 stack-overflow 上,我看到很多人遇到这个问题,但我无法解决。我遵循了本教程,其中包括如何设置文件的权限:http://46dogs.blogspot.nl/2007/11/setting-up-gnupg-gpg-for-use-with-php.html

这是我正在使用的脚本。我的 PGP key 不包含短语:

<?php
putenv("GNUPGHOME=/home/user/.gnupg/");
$gpg = new gnupg();
$gpg -> addencryptkey("2ADA21BDC9C96556EA0758F04A935AE0010AE203");
$encrypted_text = $gpg -> encrypt("just a test");
//echo $encrypted_text;

$gpg = new gnupg();
$gpg->seterrormode(gnupg::ERROR_EXCEPTION);
try{
$gpg -> adddecryptkey("2ADA21BDC9C96556EA0758F04A935AE0010AE203","");
$decrypted_text = $gpg -> decrypt($encrypted_text);
} catch (Exception $e) {
echo $e;
}
echo $decrypted_text;
?>

文件(pubring.gpg、trustdb.gpg和secring.gpg)的权限与教程完全相同(仅用户更改为nginx)。
加密部分有效。但是解密不起作用。

谁知道哪里出了问题?

我正在运行 Centos 和 php5。

最佳答案

线程中的代码很好,但请记住您的 nginx 用户不同于 user 并且 nginx 在访问其 gnupg key 时会遇到问题,因为(默认情况下)/home/user/.gnupg 只有所有者(用户 登录)可以访问。最简单的方法是为 nginx 用户设置主目录并为此创建自己的 gnupg key 。否则,只有当您使用 user 登录名登录到终端时,运行此 php 才会成功(因为/home/user/.gnupg)

关于php gnupg get_key 失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35705359/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com