2

我正在使用 pecl 的 gnupg PHP 模块。具体来说: gpgme-devel 1.1.8 gnupg 模块 1.3.3

加密工作正常,而且速度很快。在命令行解密时使用 gpg 很快。当我尝试从 PHP 解密时,页面永远不会加载,甚至在调用解密之前的消息也不会打印。

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
putenv('GNUPGHOME=/var/www/.gnupg/');
$gpg = new gnupg();
$gpg->seterrormode(gnupg::ERROR_EXCEPTION);

$key_finger_print = 'XXXX'; // Censored for posting...
$phrase = 'XXXX'; // Censored for posting...
$message = 'XXX'; // Censored for posting...

try
{
  $gpg->adddecryptkey($key_finger_print,$phrase);
  $message = $gpg->decrypt($message)
}
catch(Exception $e)
{
  echo 'ERROR: ' . $e->getMessage();
}
?>

日志中不会显示或显示任何错误。

编辑:因此,从命令行而不是通过 apache 运行相同的脚本会导致 gpg-agent 提示我输入密码短语,即使它是在库调用中提供的。

4

0 回答 0