OpenSSL

密码学与 SSL/TLS 工具包

EVP_KEYMGMT-CMAC

名称

EVP_PKEY-HMAC, EVP_KEYMGMT-HMAC, EVP_PKEY-Siphash, EVP_KEYMGMT-Siphash, EVP_PKEY-Poly1305, EVP_KEYMGMT-Poly1305, EVP_PKEY-CMAC, EVP_KEYMGMT-CMAC - EVP_PKEY 遗留 MAC 密钥类型和算法支持

描述

HMACCMAC 密钥类型在 OpenSSL 的默认提供程序和 FIPS 提供程序中实现。此外,SiphashPoly1305 密钥类型在默认提供程序中实现。通过 EVP_PKEY 执行 MAC 操作被视为遗留操作,仅出于向后兼容目的以及针对一组受限的算法提供。执行 MAC 操作的首选方式是通过 EVP_MAC API。参见 EVP_MAC_init(3)

有关使用基于 EVP_PKEY 的 MAC 密钥的更多详细信息,请参见 EVP_SIGNATURE-HMAC(7)EVP_SIGNATURE-Siphash(7)EVP_SIGNATURE-Poly1305(7)EVP_SIGNATURE-CMAC(7)

通用 MAC 参数

所有 MAC 密钥类型都支持以下参数。

"priv" (OSSL_PKEY_PARAM_PRIV_KEY) <八位字节串>

MAC 密钥值。

"properties" (OSSL_PKEY_PARAM_PROPERTIES) <UTF8 字符串>

在获取任何算法时要使用的属性查询字符串。

CMAC 参数

除了上面描述的参数之外,CMAC 密钥类型还支持以下参数。

"cipher" (OSSL_PKEY_PARAM_CIPHER) <UTF8 字符串>

生成 MAC 时要使用的密码的名称。

"engine" (OSSL_PKEY_PARAM_ENGINE) <UTF8 字符串>

要用于指定密码(如果有)的引擎的名称。

通用 MAC 密钥生成参数

MAC 密钥生成不同寻常,因为它实际上不会生成新的密钥。而是使用提供的原始密钥值创建一个新的提供程序端密钥对象。这样做是为了向后兼容 OpenSSL 的先前版本。

"priv" (OSSL_PKEY_PARAM_PRIV_KEY) <八位字节串>

MAC 密钥值。

CMAC 密钥生成参数

除了通用的 MAC 密钥生成参数之外,CMAC 密钥生成还识别以下参数。

"cipher" (OSSL_PKEY_PARAM_CIPHER) <UTF8 字符串>

生成 MAC 时要使用的密码的名称。

另请参见

EVP_KEYMGMT(3)EVP_PKEY(3)provider-keymgmt(7)

版权所有 2020 OpenSSL 项目作者。保留所有权利。

根据 Apache 许可证 2.0 版(“许可证”)许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获得副本。