Функция PHP GnuPG keyinfo показывает пустой массив

Мне нужно использовать gnupg_decrypt расшифровать файл, который отправляется нам, но не может заставить его работать.

Когда я использую gnupg_keyinfo чтобы перечислить все открытые ключи, он возвращает пустой массив. У кого-нибудь есть идеи, почему это происходит?

Код, который я использую:

$res = gnupg_init();
$info = gnupg_keyinfo($res, '');
print_r($info);

Смотря на комментарии приведенной выше ссылки выкладываю '' в качестве шаблона он должен перечислить все ключи.

Я установил открытый ключ на моем сервере, используя информацию, представленную здесь
http://irtfweb.ifa.hawaii.edu/~lockhart/gpg/gpg-cs.html

И когда я запускаю gpg —list-keys, он показывает, что он успешно создан.

Я где-то читал, что вы должны положить

putenv('GNUPGHOME=/tmp');

в верхней части страницы, чтобы он работал, но нет ссылки на ключ в этой папке, и я не могу выяснить, какое расположение установить с помощью вышеуказанного.

Я также читал, что у меня нет прав доступа к папке, в которой хранится ключ, но опять же я не уверен, где она находится.

Может ли кто-нибудь помочь с этим?

Спасибо


Чтобы заставить это работать, я сделал следующее

chown -R {{user}} ~/.gnupg
chmod 600 ~/.gnupg/*
chmod 700 ~/.gnupg

Затем повторно импортируйте ключ, используя gnupg_import функция

1

Решение

GnuPG имеет пользовательские брелоки. Ваш веб-сервер не будет работать от имени пользователя root (если это так, измените это немедленно), поэтому вам нужно проанализировать пользователя веб-сервера и импортировать секретный ключ под этой учетной записью пользователя (часто называемой www-data или что-то подобное, что вы могли бы также su в). С другой стороны, импортировать ключ через скрипт PHP.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]