(PECL rnp >= 0.1.1)
rnp_op_generate_key — 產生金鑰
$ffi
,$userid
,$key_alg
,$sub_alg
= ?,$options
= ?
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() 儲存。