rnp_op_generate_key
(PECL rnp >= 0.1.1)
rnp_op_generate_key - Генерує ключ
Опис
rnp_op_generate_key( RnpFFI $ffi, string $userid, string $key_alg, string $sub_alg = ?, array $options = ?): string|false
Список параметрів
ffi
Об'єкт FFI, що повертається функцією rnp_ffi_create.
userid
PGP User ID - текст, призначений для надання імені та адреси електронної пошти власника ключа.
key_alg
Алгоритм первинного ключа (наприклад, 'RSA', 'DSA' тощо).
sub_alg
Алгоритм дочірнього ключа. Якщо значення не задано, то дочірній ключ не генеруватися.
options
Асоціативний масив із опціями.
Ключ | Тип данных | Опис |
---|---|---|
"bits" | integer | Розмір первинного ключа у бітах. Застосовується тільки для ключів RSA, DSA та El-Gamal. |
"hash" | string | Хеш-алгоритм, що використовується в самопідпис або підпис з прив'язкою до дочірнього ключа. |
"dsa_qbits" | integer | Встановлює розмір параметра q для ключа DSA. Примітка: Залежно від розрядності ключа буде встановлено значення за промовчанням. Однак за потреби його можна перевизначити. |
"curve" | string | Налаштування кривої, що використовується для ключа ECC. Примітка: це застосовується лише для ключів ECDSA, ECDH та SM2. |
"request_password" | boolean | Включає запит пароля через провайдер паролів. Цей пароль використовуватиметься для шифрування ключа. Callback-функція провайдера паролів має бути задана заздалегідь викликом функції rnp_ffi_set_pass_provider(). . Примітка: Ця настройка буде проігнорована, якщо пароль був заданий через за допомогою "password" |
"password" | string | Встановлює пароль для шифрування даних секретного ключа. |
"expiration" | integer | Встановлює час закінчення терміну дії ключів та дочірніх ключів за секунди. |
"sub_bits" | integer | Розмір дочірнього ключа у бітах. Застосовується тільки для ключів RSA, DSA та El-Gamal. |
"sub_hash" | string | Хеш-алгоритм, що використовується в підписі дочірнього ключа або в підписі з прив'язкою до дочірнього ключа. |
"sub_curve" | string | Встановлює криву, яка використовується для дочірнього ключа ECC. Примітка: це застосовується лише для ключів ECDSA, ECDH та SM2. |
Значення, що повертаються
Отпечаток сгенерированного первичного ключа или**false
** у разі виникнення помилки. Цей відбиток може бути використаний надалі для посилання на ключ в операціях підпису та шифрування. Дані ключа зберігаються в контексті пам'яті FFI та можуть бути збережені за допомогою функції rnp_save_keys() або rnp_save_keys_to_path()