openssl-mac
名称
openssl-mac - 执行消息认证码操作
概要
openssl mac [-help] [-cipher] [-digest] [-macopt] [-in filename] [-out filename] [-binary] [-provider name] [-provider-path path] [-propquery propq] mac_name
描述
消息认证码函数输出提供的输入文件的 MAC。
选项
- -help
-
打印使用信息。
- -in filename
-
用于计算 MAC 的输入文件名,默认情况下为标准输入。如果文件名为“ - ”,则使用标准输入。文件和标准输入预计为二进制格式。
- -out filename
-
要输出到的文件名,默认情况下为标准输出。
- -binary
-
以二进制形式输出 MAC。如果未指定,则使用十六进制文本格式。
- -cipher name
-
CMAC 和 GMAC 使用它来指定密码算法。对于 CMAC,它应该是一个 CBC 模式密码,例如 AES-128-CBC。对于 GMAC,它应该是一个 GCM 模式密码,例如 AES-128-GCM。
- -digest name
-
HMAC 使用它作为字母数字字符串(如果密钥仅包含可打印字符,则使用)。字符串长度必须符合 MAC 算法的任何限制。要查看支持的摘要列表,请使用
openssl list -digest-commands
。 - -macopt nm:v
-
将选项传递给 MAC 算法。可以在 EVP_MAC 实现文档中找到完整的控件列表。EVP_MAC_CTX_get_params() 使用的常用参数名称是
- key:string
-
将 MAC 密钥指定为字母数字字符串(如果密钥仅包含可打印字符,则使用)。字符串长度必须符合 MAC 算法的任何限制。每个 MAC 算法都必须指定一个密钥。
- hexkey:string
-
以十六进制形式指定 MAC 密钥(每个字节两个十六进制数字)。密钥长度必须符合 MAC 算法的任何限制。每个 MAC 算法都必须指定一个密钥。
- iv:string
-
GMAC 使用它来指定一个 IV 作为字母数字字符串(如果 IV 仅包含可打印字符,则使用)。
- hexiv:string
-
GMAC 使用它以十六进制形式指定一个 IV(每个字节两个十六进制数字)。
- size:int
-
KMAC128 或 KMAC256 使用它来指定输出长度。默认大小分别为 32 或 64 字节。
- custom:string
-
KMAC128 或 KMAC256 使用它来指定自定义字符串。默认值为空字符串 ""。
- digest:string
-
此选项与 -digest 选项相同。
- cipher:string
-
此选项与 -cipher 选项相同。
- -provider name
- -provider-path path
- -propquery propq
- mac_name
-
指定将使用的支持的 MAC 算法的名称。要查看支持的 MAC 列表,请使用命令
openssl list -mac-algorithms
。
示例
要创建一个文件的十六进制编码 HMAC-SHA1 MAC 并写入 stdout
openssl mac -digest SHA1 \
-macopt hexkey:000102030405060708090A0B0C0D0E0F10111213 \
-in msg.bin HMAC
要从一个文件创建 SipHash MAC 并使用二进制文件输出
openssl mac -macopt hexkey:000102030405060708090A0B0C0D0E0F \
-in msg.bin -out out.bin -binary SipHash
要从一个文件创建十六进制编码的 CMAC-AES-128-CBC MAC
openssl mac -cipher AES-128-CBC \
-macopt hexkey:77A77FAF290C1FA30C683DF16BA7A77B \
-in msg.bin CMAC
要从一个文件创建十六进制编码的 KMAC128 MAC,自定义字符串为“Tag”,输出长度为 16
openssl mac -macopt custom:Tag -macopt hexkey:40414243444546 \
-macopt size:16 -in msg.bin KMAC128
要从一个文件创建十六进制编码的 GMAC-AES-128-GCM,并使用一个 IV
openssl mac -cipher AES-128-GCM -macopt hexiv:E0E00F19FED7BA0136A797F3 \
-macopt hexkey:77A77FAF290C1FA30C683DF16BA7A77B -in msg.bin GMAC
注释
可用的 MAC 机制将取决于构建 OpenSSL 时使用的选项。使用 openssl list -mac-algorithms
列出它们。
参见
openssl(1)、EVP_MAC(3)、EVP_MAC-CMAC(7)、EVP_MAC-GMAC(7)、EVP_MAC-HMAC(7)、EVP_MAC-KMAC(7)、EVP_MAC-Siphash(7)、EVP_MAC-Poly1305(7)
版权
版权所有 2018-2024 OpenSSL 项目作者。版权所有。
根据 Apache 许可证 2.0 版(“许可证”)许可。除非遵守许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 上获取副本。