OpenSSL

密码学和SSL/TLS工具包

EVP_MAC-HMAC

名称

EVP_MAC-HMAC - HMAC EVP_MAC 实现

描述

支持通过EVP_MAC API 计算 HMAC MAC。

此实现使用 EVP_MD 函数来访问底层摘要。

标识

此实现使用此名称和属性进行标识,以便与 EVP_MAC_fetch() 一起使用。

"HMAC", "provider=default" 或 "provider=fips"

支持的参数

这些参数的常规描述可以在"EVP_MAC(3) 中的 PARAMETERS" 中找到。

可以使用 EVP_MAC_CTX_set_params() 设置以下参数。

"key" (OSSL_MAC_PARAM_KEY) <八位字节串>

设置 MAC 密钥。设置此参数等同于将key 传递给EVP_MAC_init(3)

"digest" (OSSL_MAC_PARAM_DIGEST) <UTF8 字符串>

设置要使用的底层摘要的名称。

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

设置在尝试获取底层摘要时要查询的属性。此属性必须与摘要命名参数(“digest”或OSSL_MAC_PARAM_DIGEST)一起提供才能被视为有效。

"digest-noinit" (OSSL_MAC_PARAM_DIGEST_NOINIT) <整数>

一个标志,用于设置 MAC 摘要不初始化实现特定的数据。预期值为 0 或 1。此选项已弃用,将在未来版本中删除。它可以设置,但目前被忽略。

"digest-oneshot" (OSSL_MAC_PARAM_DIGEST_ONESHOT) <整数>

一个标志,用于设置 MAC 摘要为一次性操作。预期值为 0 或 1。此选项已弃用,将在未来版本中删除。它可以设置,但目前被忽略。

"tls-data-size" (OSSL_MAC_PARAM_TLS_DATA_SIZE) <无符号整数>

可以使用 EVP_MAC_CTX_get_params() 获取以下参数。

"size" (OSSL_MAC_PARAM_SIZE) <无符号整数>

"size" 参数也可以使用 EVP_MAC_CTX_get_mac_size() 获取。"size" 参数的长度等于unsigned int 的长度。

"block-size" (OSSL_MAC_PARAM_BLOCK_SIZE) <无符号整数>

获取 MAC 块大小。"block-size" 参数也可以使用 EVP_MAC_CTX_get_block_size() 获取。

参见

EVP_MAC_CTX_get_params(3)EVP_MAC_CTX_set_params(3)"EVP_MAC(3) 中的 PARAMETERS"OSSL_PARAM(3)HMAC(3)

版权所有 2018-2021 OpenSSL 项目作者。保留所有权利。

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