(PECL rnp >= 0.1.1)
rnp_op_generate_key — Генерирует ключ
$ffi,$userid,$key_alg,$sub_alg = ?,$options = ?
ffiFFI-объект, который возвращает функция rnp_ffi_create().
useridPGP 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().