PHP8 rnp_op_generate_key

2024-03-14 09:11 更新

(PECL rnp >= 0.1.1)

rnp_op_generate_key — 生成密鑰

說(shuō)明

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

參數(shù) 

ffi

rnp_ffi_create返回的 FFI 對(duì)象。

userid

PGP 用戶 ID - 旨在表示的文本 密鑰持有者的姓名和電子郵件地址。

key_alg

主鍵算法(即“RSA”、“DSA”等)。

sub_alg

子項(xiàng)算法。如果未設(shè)置,則不會(huì)生成子項(xiàng)。

options

帶有選項(xiàng)的關(guān)聯(lián)數(shù)組。

鑰匙數(shù)據(jù)類型說(shuō)明
"bits"整數(shù)主鍵大?。ㄒ晕粸閱挝唬H適用于 RSA、DSA 和 El-Gamal 密鑰。
"hash"字符串自簽名或子鍵綁定簽名中使用的哈希算法。
"dsa_qbits"整數(shù)設(shè)置 DSA 密鑰的參數(shù)大小。 注意:將設(shè)置適當(dāng)?shù)哪J(rèn)值,具體取決于鍵位。但是,您可以 如果需要,請(qǐng)覆蓋它。q
"curve"字符串設(shè)置用于 ECC 鍵的曲線。注意:這僅適用于 ECDSA、ECDH 和 SM2 密鑰。
"request_password"布爾啟用通過(guò)密碼提供程序請(qǐng)求密碼。此密碼 將用于密鑰加密。密碼提供程序回調(diào)函數(shù)應(yīng)設(shè)置在 通過(guò)調(diào)用 rnp_ffi_set_pass_provider() 前進(jìn)。 注意:如果密碼是通過(guò)以下方式設(shè)置的,則此設(shè)置將被忽略"password"
"password"字符串設(shè)置用于加密密鑰數(shù)據(jù)的密碼。
"expiration"整數(shù)設(shè)置密鑰和子密鑰過(guò)期時(shí)間(以秒為單位)。
"sub_bits"整數(shù)子項(xiàng)大?。ㄒ晕粸閱挝唬H適用于 RSA、DSA 和 El-Gamal 密鑰。
"sub_hash"字符串子項(xiàng)自簽名或子項(xiàng)綁定簽名中使用的哈希算法。
"sub_curve"字符串設(shè)置用于 ECC 子項(xiàng)的曲線。注意:這僅適用于 ECDSA、ECDH 和 SM2 密鑰。

返回值 

生成的主鍵的指紋 或者在失敗時(shí)返回 false.可以使用此指紋 稍后在 Sign 和 Encrypt 操作中引用密鑰。密鑰數(shù)據(jù)存儲(chǔ)在 FFI 中 內(nèi)存上下文,可以使用 rnp_save_keys() 或 rnp_save_keys_to_path() 保存。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)