life_cycle-rand
名稱
life_cycle-rand - RAND 演算法生命週期
說明
所有亂數產生器 (RAND) 都會在其生命週期中經歷許多階段
- 開始
-
此狀態表示 RAND 在配置前。這是任何生命週期轉換的起始狀態。
- 已更新
-
此狀態表示 RAND 在配置後,但無法產生任何輸出。
- 已實例化
-
此狀態表示 RAND 已設定,並能夠產生輸出。
- 未實例化
-
此狀態表示 RAND 已關閉,且不再能夠產生輸出。
- 已釋放
-
此狀態在 RAND 釋放時進入。這是所有生命週期轉換的終止狀態。
狀態轉換圖
RAND 的一般生命週期如下所示
正式狀態轉換
此區段定義所有合法狀態轉換。這是標準清單。
函式呼叫 | 目前狀態 | ||||
---|---|---|---|---|---|
開始 | 已更新 | 已實例化 | 未實例化 | 已釋放 | |
EVP_RAND_CTX_new | 已更新 | ||||
EVP_RAND_instantiate | 已實例化 | ||||
EVP_RAND_generate | 已實例化 | ||||
EVP_RAND_uninstantiate | 未實例化 | ||||
EVP_RAND_CTX_free | 已釋放 | 已釋放 | 已釋放 | 已釋放 | |
EVP_RAND_CTX_get_params | 已更新 | 已實例化 | 未實例化 | ||
EVP_RAND_CTX_set_params | 已更新 | 已實例化 | 未實例化 | ||
EVP_RAND_CTX_gettable_params | 已更新 | 已實例化 | 未實例化 | ||
EVP_RAND_CTX_settable_params | 已更新 | 已實例化 | 未實例化 |
備註
在某個時間點,EVP 層將開始強制執行此處所述的轉換。
另請參閱
歷程
供應商 RAND 介面於 OpenSSL 3.0 中引入。
版權
版權所有 2021 The OpenSSL Project Authors。保留所有權利。
根據 Apache 授權條款 2.0 (「授權條款」) 授權。您只能在遵守授權條款的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案中取得副本,或至 https://www.openssl.org/source/license.html 取得副本。