(PECL rnp >= 0.1.1)
rnp_op_generate_key — Генерирует ключ
$ffi
,$userid
,$key_alg
,$sub_alg
= ?,$options
= ?
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().