(PECL rnp >= 0.1.1)
rnp_op_generate_key — Gera chave
$ffi,$userid,$key_alg,$sub_alg = ?,$options = ?
ffiO objeto FFI retornado por rnp_ffi_create().
useridID de usuário PGP - texto cuja intenção é representar o nome e endereço de e-mail do titular da chave.
key_algAlgoritmo de chave primária (ou seja, 'RSA', 'DSA', etc).
sub_algAlgoritmo de subchave. Se não for definido, a subchave não será gerada.
optionsUm array associativo com opções.
| Chave | Tipo de dado | Descrição | 
|---|---|---|
| "bits" | inteiro | Tamanho da chave primária em bits. Aplicável apenas às chaves RSA, DSA e El-Gamal. | 
| "hash" | string | Algoritmo hash usado em autoassinatura ou assinatura de ligação de subchave. | 
| "dsa_qbits" | inteiro | Define o tamanho de um parâmetro qpara a chave DSA.
          Nota: o valor padrão apropriado será definido, dependendo dos bits da chave. No entanto, ele pode
          ser substituído, se necessário. | 
| "curve" | string | Define a curva usada para a chave ECC. Nota: isto só é aplicável para chaves ECDSA, ECDH e SM2. | 
| "request_password" | booleano | Habilita a solicitação de senha por meio do provedor de senha. Esta senha
          será usada para criptografia de chave. A função de retorno do provedor de senha deve ser definida
          antecipadamente chamando rnp_ffi_set_pass_provider().
          Nota: esta configuração será ignorada se a senha for definida via "password" | 
| "password" | string | Define a senha usada para criptografar os dados da chave secreta. | 
| "expiration" | inteiro | Define o tempo de expiração da chave e da subchave em segundos. | 
| "sub_bits" | inteiro | Tamanho da subchave em bits. Aplicável apenas às chaves RSA, DSA e El-Gamal. | 
| "sub_hash" | string | Algoritmo hash usado na autoassinatura de subchave ou assinatura de ligação de subchave. | 
| "sub_curve" | string | Define a curva usada para a subchave ECC. Nota: isto só é aplicável para chaves ECDSA, ECDH e SM2. | 
   Impressão digital da chave primária gerada ou false em caso de falha. Esta impressão digital pode ser usada
   posteriormente para fazer referência à chave em operações de assinatura e criptografia. Os dados da chave são armazenados no
   contexto da memória FFI e podem ser salvos usando
   rnp_save_keys() ou rnp_save_keys_to_path().
  
