PHPCon Poland 2024

rnp_ffi_set_pass_provider

(PECL rnp >= 0.1.1)

rnp_ffi_set_pass_providerУстанавливает callback-функцию поставщика паролей

Описание

rnp_ffi_set_pass_provider(RnpFFI $ffi, callable $password_callback): bool

Устанавливает callback-функцию поставщика пароля. Функция может запрашивать пароль на стандартном входе (если PHP скрипт выполняется в среде командной строки), отображать диалог GUI или предоставлять пароль любым другим возможным способом. Запрашиваемые пароли используются для шифрования или расшифровки секретных ключей или выполнения операций симметричного шифрования/дешифрования.

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

ffi

Объект FFI, который возвращает функция rnp_ffi_create.

password_callback

Функция, которая будет вызываться для каждого запроса пароля. У неё следующая сигнатура:

password_callback(string $key_fp, string $pgp_context, string &$password): bool
  • $key_fp - Цифровой отпечаток, если таковой имеется. Может быть пустым.
  • $pgp_context - Строка, описывающая, почему запрашивается ключ.
  • $password - Ссылка на строку пароля, в которой должен храниться предоставленный пароль.
Callback-функция должна возвращать 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');

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top