PHP Conference Japan 2024

rnp_op_generate_key

(PECL rnp >= 0.1.1)

rnp_op_generate_key生成密钥

描述

rnp_op_generate_key(
    RnpFFI $ffi,
    string $userid,
    string $key_alg,
    string $sub_alg = ?,
    array $options = ?
): string|false

参数

ffi

由 rnp_ffi_create 返回的 FFI 对象。

userid

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

key_alg

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

sub_alg

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

options

包含选项的关联数组。

数据类型 描述
"bits" integer 主密钥大小(以位为单位)。仅适用于 RSA、DSA 和 El-Gamal 密钥。
"hash" string 在自签名或子密钥绑定签名中使用的哈希算法。
"dsa_qbits" integer 设置DSA密钥的q参数的大小。注意:将根据密钥位数设置适当的默认值。但是,如果需要,您可以覆盖它。
"curve" string 设置用于ECC密钥的曲线。注意:这仅适用于ECDSA、ECDH和SM2密钥。
"request_password" boolean 启用通过密码提供程序请求密码。此密码将用于密钥加密。应通过调用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()保存。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top