(PECL rnp >= 0.1.1)
rnp_op_generate_key — Генерирует ключ
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().