(PECL rnp >= 0.1.1)
rnp_op_generate_key — Generate key
ffi
The FFI object returned by rnp_ffi_create.
userid
PGP User ID - text that is intended to represent the name and email address of the key holder.
key_alg
Primary key algorithm (i.e. 'RSA', 'DSA', etc).
sub_alg
Subkey algorithm. If not set, subkey will not be generated.
options
An associative array with options.
Key | Data type | 说明 |
---|---|---|
"bits" | integer | Primary key size in bits. Applicable only to RSA, DSA and El-Gamal keys. |
"hash" | string | Hash algorithm used in self signature or subkey binding signature. |
"dsa_qbits" | integer | Set size of a q parameter for DSA key. Note: appropriate default value will be set, depending on key bits. However you may override it if needed. |
"curve" | string | Set the curve used for ECC key. Note: this is only applicable for ECDSA, ECDH and SM2 keys. |
"request_password" | boolean | Enable requesting password via password provider. This password will be used for key encryption. Password provider callback function should be set in advance by calling rnp_ffi_set_pass_provider(). Note: this setting will be ignored if password was set via"password" |
"password" | string | Set the password used to encrypt the secret key data. |
"expiration" | integer | Set the key and subkey expiration time in seconds. |
"sub_bits" | integer | Subkey size in bits. Applicable only to RSA, DSA and El-Gamal keys. |
"sub_hash" | string | Hash algorithm used in subkey self signature or subkey binding signature. |
"sub_curve" | string | Set the curve used for ECC subkey. Note: this is only applicable for ECDSA, ECDH and SM2 keys. |
Fingerprint of the generated primary key 或者在失败时返回 false
. This fingerprint can be used later to reference the key in sign and encrypt operations. The key data is stored in FFI memory context and can be saved using rnp_save_keys() or rnp_save_keys_to_path().