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层将开始强制执行本文档中描述的转换。
参见
历史
提供程序MAC接口是在OpenSSL 3.0中引入的。
版权
版权所有 2021 OpenSSL 项目作者。保留所有权利。
根据 Apache 许可证 2.0(“许可证”)获得许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。