gnupg_init

(PECL gnupg >= 0.4)

gnupg_initИнициализирует подключение к функциям модуля GnuPG

Описание

gnupg_init(?array $options = null): resource

Список параметров

options

Параметр принимает ассоциативный массив, который изменяет первоначальную конфигурацию криптографического движка.

Переопределения конфигурации
Ключ Тип Описание
file_name string Название файла исполняемой программы, которая реализует протокол стандарта OpenPGP. Название файла обычно указывают как путь к исполняемому файлу gpg.
home_dir string Название каталога конфигурации. Значение переопределит переменную окружения GNUPGHOME, которая выполняет ту же задачу — указывает каталог конфигурации.

Возвращаемые значения

Функция возвращает ресурс (resource) подключения к функциям модуля GnuPG. Ресурс будут использовать другие функции модуля GnuPG.

Список изменений

Версия Описание
PECL-модуль gnupg 1.5.0 Разработчики языка добавили параметр options.

Примеры

Пример #1 Пример использования функции gnupg_init() в процедурном стиле с настройками по умолчанию

<?php

$res
= gnupg_init();

?>

Пример #2 Пример использования gnupg_init() в процедурном стиле с переопределением имени исполняемого файла и домашнего каталога конфигурации

<?php

$res
= gnupg_init(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);

?>

Пример #3 Пример создания инициализатора класса gnupg в объектно-ориентированном стиле с настройками по умолчанию

<?php

$gpg
= new gnupg();

?>

Пример #4 Пример создания инициализатора класса gnupg в объектно-ориентированном стиле с переопределением имени исполняемого файла и домашнего каталога конфигурации

<?php

$gpg
= new gnupg(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);

?>

Добавить

Примечания пользователей 2 notes

up
6
der_axel at gmx dot de
7 years ago
Set the correct GNUPG environment, before you call gnupg_init()!The current FPM/FastCGI/Module User must have read - if you import write - permissions on that directory. You won't get an error message, if something is not correct.Without a correct environment, all other gnupg functions will not work as you expected.<?php// Enter your .gnupg environmentputenv('GNUPGHOME=/var/www/vhosts/yourdomain/.gnupg');error_reporting(E_ALL);$res = gnupg_init();gnupg_seterrormode($res,GNUPG_ERROR_WARNING);$info = gnupg_keyinfo($res, 'your-key-id');echo "Key - Info<pre>";var_dump($info);echo "</pre>";?>
up
1
djmaze
3 years ago
Make sure home_dir option is not too many characters or else private keys fail.You will notice that functions take a long time (seconds).Commandline test yield error:> gpg: can't connect to the agent: IPC connect call failedExecuting `gpg-agent --daemon --homedir /very/long/path/to/.gnupg` gave the error.> socket name for '/very/long/path/to/.gnupg/S.gpg-agent.extra' is too longSo you must check that home_dir + '/S.gpg-agent.extra' is:* < 107 characters on Linux* < 104 on BSD 4.4
To Top