rnp_op_generate_key

(PECL rnp >= 0.1.1)

rnp_op_generate_key生成密钥

描述

rnp_op_generate_key(
    RnpFFI $ffi,
    字符串 $userid,
    字符串 $key_alg,
    字符串 $sub_alg = ?,
    数组 $options = ?
): 字符串|false

参数

ffi

由 rnp_ffi_create 返回的 FFI 对象。

userid

PGP 用户 ID - 旨在表示密钥持有人姓名和电子邮件地址的文本。

key_alg

主密钥算法(例如,'RSA'、'DSA' 等)。

sub_alg

子密钥算法。如果不设置,将不会生成子密钥。

options

包含选项的关联数组。

数据类型 描述
"bits" 整数 主密钥大小(以位为单位)。仅适用于 RSA、DSA 和 El-Gamal 密钥。
"hash" 字符串 用于自签名或子密钥绑定签名的哈希算法。
"dsa_qbits" 整数 设置 DSA 密钥的 q 参数的大小。注意:将设置适当的默认值,具体取决于密钥位数。但是,如果需要,你可以覆盖它。
"curve" 字符串 设置用于 ECC 密钥的曲线。注意:这仅适用于 ECDSA、ECDH 和 SM2 密钥。
"request_password" 布尔值 启用通过密码提供程序请求密码。此密码将用于密钥加密。密码提供程序回调函数应通过调用 rnp_ffi_set_pass_provider() 提前设置。注意:如果通过 "password" 设置密码,此设置将被忽略。
"password" 字符串 设置用于加密密钥数据密码。
"expiration" 整数 设置密钥和子密钥到期时间(以秒为单位)。
"sub_bits" 整数 子密钥大小(以位为单位)。仅适用于 RSA、DSA 和 El-Gamal 密钥。
"sub_hash" 字符串 用于子密钥自签名或子密钥绑定签名的哈希算法。
"sub_curve" 字符串 设置用于 ECC 子密钥的曲线。注意:这仅适用于 ECDSA、ECDH 和 SM2 密钥。

返回值

生成的公钥指纹或失败时的 false。此指纹稍后可用于在签名和加密操作中引用密钥。密钥数据存储在 FFI 内存上下文中,可以使用 rnp_save_keys()rnp_save_keys_to_path() 保存。

添加注释

用户贡献注释

本页尚未有用户贡献的注释。
To Top