[ aws . payment-cryptography-data ]
verify-mac
Описание
Проверяет код аутентификации сообщения (MAC).
Вы можете использовать эту операцию для проверки MAC для аутентификации данных сообщения, таких как . В этой операции необходимо использовать те же данные сообщения, секретный ключ шифрования и алгоритм MAC, которые использовались для генерации MAC. Вы можете использовать эту операцию для проверки DUPKT, CMAC, HMAC или EMV MAC, установив атрибуты генерации и алгоритм для соответствующих значений.
Дополнительную информацию о допустимых ключах для этой операции см. в разделе «Понимание атрибутов ключей и типов ключей для определенных операций с данными» в руководстве пользователя Amazon Web Services Payment Cryptography.
Использование между аккаунтами : Эта операция не может быть использована между различными аккаунтами Amazon Web Services.
Связанные операции:
- GenerateMac
См. также: Документация AWS API
Синтаксис
verify-mac
--key-identifier <value>
--message-data <value>
--mac <value>
--verification-attributes <value>
[--mac-length <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--key-identifier (строка)
keyARN ключа шифрования, используемого Amazon Web Services Payment Cryptography для проверки данных MAC.--message-data (строка)
--mac (строка)
--verification-attributes (структура помеченного объединения)
Атрибуты и значения данных, которые необходимо использовать для проверки MAC в Amazon Web Services Payment Cryptography.
Примечание
Это структура помеченного объединения. Только один из следующих ключей верхнего уровня может быть установлен:Algorithm, EmvMac, DukptIso9797Algorithm1, DukptIso9797Algorithm3, DukptCmac.Algorithm -> (строка)
EmvMac -> (структура)
Параметры, необходимые для генерации или проверки MAC с использованием алгоритма EMV MAC.
MajorKeyDerivationMode -> (строка)
PrimaryAccountNumber -> (строка)
PanSequenceNumber -> (строка)
SessionKeyDerivationMode -> (строка)
SessionKeyDerivationValue -> (структура помеченного объединения)
Параметры, необходимые для генерации сессионного ключа для генерации и проверки EMV.
Примечание
Это структура помеченного объединения. Только один из следующих ключей верхнего уровня может быть установлен:ApplicationCryptogram, ApplicationTransactionCounter.ApplicationCryptogram -> (строка)
ApplicationTransactionCounter -> (строка)
DukptIso9797Algorithm1 -> (структура)
Параметры, необходимые для генерации или проверки MAC с использованием алгоритма DUKPT ISO 9797 1.
KeySerialNumber -> (строка)
DukptKeyVariant -> (строка)
DukptDerivationType -> (строка)
AES_128 в качестве типа вывода для BDK AES_128 или TDES_2KEY.DukptIso9797Algorithm3 -> (структура)
Параметры, необходимые для генерации или проверки MAC с использованием алгоритма DUKPT ISO 9797 3.
KeySerialNumber -> (строка)
DukptKeyVariant -> (строка)
DukptDerivationType -> (строка)
AES_128 в качестве типа вывода для BDK AES_128 или TDES_2KEY.DukptCmac -> (структура)
Параметры, необходимые для генерации или проверки MAC с использованием алгоритма DUKPT CMAC.
KeySerialNumber -> (строка)
DukptKeyVariant -> (строка)
DukptDerivationType -> (строка)
AES_128 в качестве типа вывода для BDK AES_128 или TDES_2KEY.Краткая запись:
Algorithm=string,EmvMac={MajorKeyDerivationMode=string,PrimaryAccountNumber=string,PanSequenceNumber=string,SessionKeyDerivationMode=string,SessionKeyDerivationValue={ApplicationCryptogram=string,ApplicationTransactionCounter=string}},DukptIso9797Algorithm1={KeySerialNumber=string,DukptKeyVariant=string,DukptDerivationType=string},DukptIso9797Algorithm3={KeySerialNumber=string,DukptKeyVariant=string,DukptDerivationType=string},DukptCmac={KeySerialNumber=string,DukptKeyVariant=string,DukptDerivationType=string}
Синтаксис JSON:
{
"Algorithm": "ISO9797_ALGORITHM1"|"ISO9797_ALGORITHM3"|"CMAC"|"HMAC_SHA224"|"HMAC_SHA256"|"HMAC_SHA384"|"HMAC_SHA512",
"EmvMac": {
"MajorKeyDerivationMode": "EMV_OPTION_A"|"EMV_OPTION_B",
"PrimaryAccountNumber": "string",
"PanSequenceNumber": "string",
"SessionKeyDerivationMode": "EMV_COMMON_SESSION_KEY"|"EMV2000"|"AMEX"|"MASTERCARD_SESSION_KEY"|"VISA",
"SessionKeyDerivationValue": {
"ApplicationCryptogram": "string",
"ApplicationTransactionCounter": "string"
}
},
"DukptIso9797Algorithm1": {
"KeySerialNumber": "string",
"DukptKeyVariant": "BIDIRECTIONAL"|"REQUEST"|"RESPONSE",
"DukptDerivationType": "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256"
},
"DukptIso9797Algorithm3": {
"KeySerialNumber": "string",
"DukptKeyVariant": "BIDIRECTIONAL"|"REQUEST"|"RESPONSE",
"DukptDerivationType": "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256"
},
"DukptCmac": {
"KeySerialNumber": "string",
"DukptKeyVariant": "BIDIRECTIONAL"|"REQUEST"|"RESPONSE",
"DukptDerivationType": "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256"
}
}
--mac-length (целое число)
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON следует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные JSON. Невозможно передать произвольные двоичные значения с помощью значения, предоставленного JSON, так как строка будет воспринята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит каркас JSON в стандартный вывод без отправки запроса API. Если предоставлено без значения или с значением input, выводит пример входного JSON, который может быть использован в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, он выведет пример входного YAML, который может быть использован с --cli-input-yaml. Если предоставлено значение output, оно проверит входные данные команды и вернет пример выходного JSON для этой команды. Сгенерированный каркас JSON не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном каркасе JSON.
Глобальные параметры
--debug (логическое значение)
Включить отладочную запись.
--endpoint-url (строка)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (логическое значение)
По умолчанию AWS CLI использует SSL при общении с сервисами AWS. Для каждого подключения SSL AWS CLI проверяет сертификаты SSL. Этот параметр переопределяет поведение проверки сертификатов SSL по умолчанию.
--no-paginate (логическое значение)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла учетных данных.
--region (строка)
Используемый регион. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (логическое значение)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Обрабатываемый набор сертификатов CA для проверки сертификатов SSL. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и без таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, которое соответствует двоичному блоку, fileb:// всегда будет обрабатываться как двоичное и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (логическое значение)
Отключить кли-постраничник для вывода.
--cli-auto-prompt (логическое значение)
Автоматически запросить параметры CLI.
--no-cli-auto-prompt (логическое значение)
Отключить автоматическое запросы параметров CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила кавычек, характерные для Unix-подобных систем. Эти примеры необходимо адаптировать к правилам кавычек вашей оболочки. См. Раздел «Использование кавычек со строками» в руководстве пользователя AWS CLI.
Для проверки MAC
Следующий пример проверяет код аутентификации сообщения на основе хэша (HMAC) для аутентификации данных карты с использованием алгоритма HMAC_SHA256 и ключа шифрования HMAC.
aws payment-cryptography-data verify-mac \
--key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \
--message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \
--verification-attributes='Algorithm=HMAC_SHA256' \
--mac ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C
Вывод:
{
"KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6,
"KeyCheckValue": "2976E7",
}
Дополнительную информацию см. в разделе «Проверка MAC» в руководстве пользователя AWS Payment Cryptography.
Вывод
KeyArn -> (строка)
KeyCheckValue -> (строка)
Значение проверки ключа (KCV) ключа шифрования. KCV используется для проверки, имеют ли все стороны, обладающие данным ключом, один и тот же ключ, или для обнаружения изменения ключа.
Amazon Web Services Payment Cryptography вычисляет KCV в соответствии со спецификацией CMAC.
© Copyright 2025, Amazon Web Services. Created using Sphinx.