EVP_PKEY-Siphash
名称
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 密钥类型和算法支持
描述
HMAC 和 CMAC 密钥类型在 OpenSSL 的默认提供程序和 FIPS 提供程序中实现。此外,Siphash 和 Poly1305 密钥类型在默认提供程序中实现。通过 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 The OpenSSL Project Authors。保留所有权利。
根据 Apache 许可证 2.0 版(“许可证”)授权使用。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获得一份副本。