Вы можете выполнить HMAC файла, используя клавишу AES в качестве ввода в HMAC.
Зашифруйте файл, используя любой алгоритм AES, который вы хотите (в этом примере -aes-256-cbc); сгенерируйте ключ AES на основе пароля (измените «пароль» на ваш пароль) и используйте ключ -p, чтобы сбросить соль, ключ и iv, используемые для шифрования.
openssl enc -e -k password -p -aes-256-cbc -in plaintext -out ciphertext
salt=A2402067B9BFD4A1
key=EB3A88115C30F26C3987F1AB2577DF5B58C80EBEEA623506517FAD843C64E1FC
iv =B382453BCBF579CE14C0726D343F40E2
Создайте HMAC для любого объекта / файла, используя любой алгоритм хеширования и ключ AES, который использовался для шифрования файла:
openssl dgst -hmac EB3A88115C30F26C3987F1AB2577DF5B58C80EBEEA623506517FAD843C64E1FC -sha256 ciphertext
HMAC-SHA256(ciphertext)= fa3fb9c9c743f35ba81793e2704c3fc9737cd2675011110cb1655ea7ceed2914
Запомните ключ AES для использования позже, если вам необходимо проверить HMAC. Обратите внимание, что я не знаю, что вы пытаетесь выполнить, и я не могу утверждать, что вышеизложенное отвечает вашим криптографическим требованиям, но оно показывает, как зашифровать файл, получить ключ шифрования и использовать этот ключ шифрования в вычислениях HMAC. *