Мне нужно использовать 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
функция
GnuPG имеет пользовательские брелоки. Ваш веб-сервер не будет работать от имени пользователя root (если это так, измените это немедленно), поэтому вам нужно проанализировать пользователя веб-сервера и импортировать секретный ключ под этой учетной записью пользователя (часто называемой www-data
или что-то подобное, что вы могли бы также su
в). С другой стороны, импортировать ключ через скрипт PHP.
Других решений пока нет …