Я только что установил расширение gnupg pecl и необходимые библиотеки, кажется, что gnupg включен в моем phpinfo ();
php -i |grep gnupg
/etc/php/7.3/cli/conf.d/20-gnupg.ini,
gnupg
gnupg support => enabled
, когда я пытаюсь вызвать gnupg_init (), это успешно и дает мне идентификатор ресурса, но затем я пытаюсь gnupg_import, и он всегда терпит неудачу и возвращает false
, когдая пытаюсь выполнить команду в оболочке: gpg --import somekey.txt это работает, вот мой тестовый test.key:
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Epd4OakW3tIP+3vqfv0nJ+weizFNq5Tj
=wIHb
-----END PGP PUBLIC KEY BLOCK-----
Должен ли я как-то инициализировать gpg перед использованием его в моем веб-приложении?Направьте меня в нужном направлении. Просьба
экспортировать ранее импортированный ключ по отпечатку пальца:
gpg --export --armor B4A57058391D51C5853BBFA317916E7C04C17179> /var/www/test/test.key
ниже - мой test.php:
<?php
$key=file_get_contents('/var/www/test/test.key');
$gpg=gnupg_init();
print_r($gpg); //returns Resource id #7
$res=gnupg_import($gpg, $key);
print_r($res); //returns empty string
var_dump($res); //returns (bool)false
$er=gnupg_geterror($gpg);
var_dump($er); //return (bool)false
?>
ps с использованием nginx + php7.3-fpm и gpg 1.4.23 мой gnupg homedir находится в /var/www/.gnupg принадлежитпользователю nginx / php и имеет обязательные привилегии 600/700