(PECL rnp >= 0.1.1)
rnp_ffi_set_pass_provider — Устанавливает callback-функцию поставщика паролей
Устанавливает callback-функцию поставщика пароля. Функция может запрашивать пароль на стандартном входе (если PHP скрипт выполняется в среде командной строки), отображать диалог GUI или предоставлять пароль любым другим возможным способом. Запрашиваемые пароли используются для шифрования или расшифровки секретных ключей или выполнения операций симметричного шифрования/дешифрования.
ffi
Объект FFI, который возвращает функция rnp_ffi_create.
password_callback
Функция, которая будет вызываться для каждого запроса пароля. У неё следующая сигнатура:
$key_fp
- Цифровой отпечаток, если таковой имеется. Может быть пустым.$pgp_context
- Строка, описывающая, почему запрашивается ключ.$password
- Ссылка на строку пароля, в которой должен храниться предоставленный пароль.true
, если пароль был успешно установлен или false
в случае возникновения ошибки.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #1 Пример простой callback-функции
<?php
function password_callback(string $key_fp, string $pgp_context, string &$password)
{
$password = "password";
return true;
}
$ffi = rnp_ffi_create('GPG', 'GPG');
rnp_ffi_set_pass_provider($ffi, 'password_callback');