life_cycle-pkey
名稱
life_cycle-pkey - PKEY 演算法生命週期
說明
所有公鑰 (PKEY) 在生命週期中會經歷許多階段
- 開始
-
此狀態表示 PKEY 在配置之前。這是任何生命週期轉換的起始狀態。
- 已配置
-
此狀態表示 PKEY 在配置之後。
- 解封裝
-
此狀態表示 PKEY 準備執行私鑰解封裝作業時。
- 解密
-
此狀態表示 PKEY 準備解密某些密文時。
- 衍生
-
此狀態表示 PKEY 準備衍生共用密鑰時。
- 摘要簽章
-
此狀態表示 PKEY 準備執行私鑰簽章作業時。
- 封裝
-
此狀態表示 PKEY 準備執行公鑰封裝作業時。
- 加密
-
此狀態表示 PKEY 準備加密某些明文時。
- 金鑰產生
-
此狀態表示 PKEY 準備產生新的公鑰/私鑰時。
- 參數產生
-
此狀態表示 PKEY 準備產生金鑰參數時。
- 驗證
-
此狀態表示 PKEY 準備驗證公鑰簽章時。
- 驗證復原
-
此狀態表示 PKEY 準備復原公鑰簽章資料時。
- 已釋放
-
此狀態在 PKEY 釋放時進入。這是所有生命週期轉換的終止狀態。
狀態轉換圖
PKEY 物件的通常生命週期如下所示
正式狀態轉換
此部分定義所有合法的狀態轉換。這是正規清單。
函式呼叫 | 目前狀態 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
開始 | 已配置 | 摘要 簽章 |
驗證 | 驗證 復原 |
加密 | 解密 | 衍生 | 封裝 | 解封裝 | 參數 產生 |
金鑰 產生 |
已釋放 | |
EVP_PKEY_CTX_new | 已配置 | ||||||||||||
EVP_PKEY_CTX_new_id | 已配置 | ||||||||||||
EVP_PKEY_CTX_new_from_name | 已配置 | ||||||||||||
EVP_PKEY_CTX_new_from_pkey | 已配置 | ||||||||||||
EVP_PKEY_sign_init | 摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
摘要 簽章 |
||
EVP_PKEY_sign | 摘要 簽章 |
||||||||||||
EVP_PKEY_verify_init | 驗證 | 驗證 | 驗證 | 驗證 | 驗證 | 驗證 | 驗證 | 驗證 | 驗證 | 驗證 | 驗證 | ||
EVP_PKEY_verify | 驗證 | ||||||||||||
EVP_PKEY_verify_recover_init | 驗證 復原 |
驗證 復原 |
驗證 復原 |
驗證 復原 |
驗證 復原 |
驗證 復原 |
驗證 復原 |
驗證 復原 |
驗證 復原 |
驗證 復原 |
驗證 復原 |
||
EVP_PKEY_verify_recover | 驗證 復原 |
||||||||||||
EVP_PKEY_encrypt_init | 加密 | 加密 | 加密 | 加密 | 加密 | 加密 | 加密 | 加密 | 加密 | 加密 | 加密 | ||
EVP_PKEY_encrypt | 加密 | ||||||||||||
EVP_PKEY_decrypt_init | 解密 | 解密 | 解密 | 解密 | 解密 | 解密 | 解密 | 解密 | 解密 | 解密 | 解密 | ||
EVP_PKEY_decrypt | 解密 | ||||||||||||
EVP_PKEY_derive_init | 衍生 | 衍生 | 衍生 | 衍生 | 衍生 | 衍生 | 衍生 | 衍生 | 衍生 | 衍生 | 衍生 | ||
EVP_PKEY_derive_set_peer | 衍生 | ||||||||||||
EVP_PKEY_derive | 衍生 | ||||||||||||
EVP_PKEY_encapsulate_init | 封裝 | 封裝 | 封裝 | 封裝 | 封裝 | 封裝 | 封裝 | 封裝 | 封裝 | 封裝 | 封裝 | ||
EVP_PKEY_encapsulate | 封裝 | ||||||||||||
EVP_PKEY_decapsulate_init | 解封裝 | 解封裝 | 解封裝 | 解封裝 | 解封裝 | 解封裝 | 解封裝 | 解封裝 | 解封裝 | 解封裝 | 解封裝 | ||
EVP_PKEY_decapsulate | 解封裝 | ||||||||||||
EVP_PKEY_paramgen_init | 參數 產生 |
參數 產生 |
參數 產生 |
參數 產生 |
參數 產生 |
參數 產生 |
參數 產生 |
參數 產生 |
參數 產生 |
參數 產生 |
參數 產生 |
||
EVP_PKEY_paramgen | 參數 產生 |
||||||||||||
EVP_PKEY_keygen_init | 金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
金鑰 產生 |
||
EVP_PKEY_keygen | 金鑰 產生 |
||||||||||||
EVP_PKEY_gen | 參數 產生 |
金鑰 產生 |
|||||||||||
EVP_PKEY_CTX_get_params | 已配置 | 摘要 簽章 |
驗證 | 驗證 復原 |
加密 | 解密 | 衍生 | 封裝 | 解封裝 | 參數 產生 |
金鑰 產生 |
||
EVP_PKEY_CTX_set_params | 已配置 | 摘要 簽章 |
驗證 | 驗證 復原 |
加密 | 解密 | 衍生 | 封裝 | 解封裝 | 參數 產生 |
金鑰 產生 |
||
EVP_PKEY_CTX_gettable_params | 已配置 | 摘要 簽章 |
驗證 | 驗證 復原 |
加密 | 解密 | 衍生 | 封裝 | 解封裝 | 參數 產生 |
金鑰 產生 |
||
EVP_PKEY_CTX_settable_params | 已配置 | 摘要 簽章 |
驗證 | 驗證 復原 |
加密 | 解密 | 衍生 | 封裝 | 解封裝 | 參數 產生 |
金鑰 產生 |
||
EVP_PKEY_CTX_free | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 |
備註
在某個時間點,EVP 層會開始強制執行本文中所述的轉換。
另請參閱
EVP_PKEY_new(3)、EVP_PKEY_decapsulate(3)、EVP_PKEY_decrypt(3)、EVP_PKEY_encapsulate(3)、EVP_PKEY_encrypt(3)、EVP_PKEY_derive(3)、EVP_PKEY_keygen(3)、EVP_PKEY_sign(3)、EVP_PKEY_verify(3)、EVP_PKEY_verify_recover(3)
歷程
提供者 PKEY 介面是在 OpenSSL 3.0 中引入的。
版權
Copyright 2021-2022 The OpenSSL Project Authors. All Rights Reserved.
根據 Apache 許可證 2.0 版(「許可證」)授權。您不得使用此檔案,除非符合許可證。您可以在原始程式碼散佈中的 LICENSE 檔案中取得副本,或至 https://www.openssl.org/source/license.html 取得。