開啟SSL

密碼學和 SSL/TLS 工具包

life_cycle-mac

名稱

life_cycle-mac - MAC 演算法生命週期

說明

所有訊息驗證碼 (MAC) 在其生命週期中會經歷許多階段

開始

此狀態表示 MAC 在分配之前。這是任何生命週期轉換的起始狀態。

已新增

此狀態表示 MAC 在分配後。

已初始化

此狀態表示 MAC 已設定,並能夠處理輸入。

已更新

此狀態表示 MAC 已設定,並能夠處理其他輸入或產生輸出。

已完成

此狀態表示 MAC 已產生輸出。

已釋放

此狀態會在 MAC 釋放時進入。這是所有生命週期轉換的終止狀態。

狀態轉換圖

說明 MAC 的一般生命週期

正式狀態轉換

此部分定義所有合法的狀態轉換。這是規範清單。

函式呼叫 目前狀態
開始 已新增 已初始化 已更新 已完成 已釋放
EVP_MAC_CTX_new 已新增
EVP_MAC_init 已初始化 已初始化 已初始化 已初始化
EVP_MAC_update 已更新 已更新
EVP_MAC_final 已完成
EVP_MAC_finalXOF 已完成
EVP_MAC_CTX_free 已釋放 已釋放 已釋放 已釋放 已釋放
EVP_MAC_CTX_get_params 已新增 已初始化 已更新
EVP_MAC_CTX_set_params 已新增 已初始化 已更新
EVP_MAC_CTX_gettable_params 已新增 已初始化 已更新
EVP_MAC_CTX_settable_params 已新增 已初始化 已更新

備註

在某個時間點,EVP 層會開始強制執行此處所述的轉換。

另請參閱

provider-mac(7)EVP_MAC(3)

歷程

提供者 MAC 介面在 OpenSSL 3.0 中引入。

版權所有 2021 The OpenSSL Project Authors。保留所有權利。

根據 Apache 授權條款 2.0(「授權條款」)授權。您只能在遵守授權條款的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案中取得副本,或在 https://www.openssl.org/source/license.html 取得副本。