Spec-Zone.ru › AWS CLI v2

[ aws . payment-cryptography-data ]

generate-mac

Описание

Генерирует криптограмму кода проверки подлинности сообщения (MAC) в рамках Amazon Web Services Payment Cryptography.

Вы можете использовать эту операцию для проверки подлинности данных, связанных с картами, используя известные значения данных для генерации MAC для проверки данных между отправляющей и принимающей сторонами. Эта операция использует данные сообщения, секретный криптографический ключ и алгоритм MAC для генерации уникального значения MAC для передачи. Принимающая сторона MAC должна использовать те же данные сообщения, секретный криптографический ключ и алгоритм MAC для воспроизведения другого значения MAC для сравнения.

Вы можете использовать эту операцию для генерации DUPKT, CMAC, HMAC или EMV MAC, задав атрибуты генерации и алгоритм соответствующим значениям. Ключ шифрования для генерации MAC должен иметь действительные значения для KeyUsage, такие как TR31_M7_HMAC_KEY для генерации HMAC, и ключ должен иметь KeyModesOfUse, установленное в Generate и Verify.

Дополнительную информацию о допустимых ключах для этой операции см. в руководстве пользователя Amazon Web Services Payment Cryptography: «Понимание атрибутов ключей и типов ключей для конкретных операций с данными».

Использование в разных учетных записях: Эта операция не может быть использована в разных учетных записях Amazon Web Services.

Связанные операции:

  • VerifyMac

См. также: Документацию API AWS

Синтаксис

  generate-mac
--key-identifier <value>
--message-data <value>
--generation-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 (строка)

Ключ шифрования для генерации MAC.

--message-data (строка)

Данные, для которых генерируется MAC. Это значение должно быть hexBinary.

--generation-attributes (структура тегированного объединения)

Атрибуты и значения данных, которые нужно использовать для генерации MAC в рамках Amazon Web Services Payment Cryptography.

Примечание

Это структура тегированного объединения. Только один из следующих ключей верхнего уровня может быть задан: Algorithm, EmvMac, DukptIso9797Algorithm1, DukptIso9797Algorithm3, DukptCmac.

Algorithm -> (строка)

Алгоритм шифрования для генерации или проверки MAC.

EmvMac -> (структура)

Параметры, необходимые для генерации или проверки MAC с использованием алгоритма EMV MAC.

MajorKeyDerivationMode -> (строка)

Метод, используемый для вывода основного ключа для генерации или проверки EMV MAC.

PrimaryAccountNumber -> (строка)

Основной номер счета (PAN) — уникальный идентификатор платежной кредитной или дебетовой карты, связывающий карту со конкретным держателем счета.

PanSequenceNumber -> (строка)

Номер, который идентифицирует и различает платежные карты с одинаковым основным номером счета (PAN).

SessionKeyDerivationMode -> (строка)

Метод вывода сеансового ключа для генерации или проверки EMV MAC.

SessionKeyDerivationValue -> (структура тегированного объединения)

Параметры, необходимые для генерации сеансового ключа для генерации и проверки EMV.

Примечание

Это структура тегированного объединения. Только один из следующих ключей верхнего уровня может быть задан: ApplicationCryptogram, ApplicationTransactionCounter.

ApplicationCryptogram -> (строка)

Криптограмма, предоставляемая терминалом во время обработки транзакции.

ApplicationTransactionCounter -> (строка)

Счетчик транзакций, предоставляемый терминалом во время обработки транзакции.

DukptIso9797Algorithm1 -> (структура)

Параметры, необходимые для генерации или проверки MAC с использованием алгоритма DUKPT ISO 9797.

KeySerialNumber -> (строка)

Уникальный идентификатор, известный как серийный номер ключа (KSN), который поступает от устройства шифрования, использующего метод шифрования DUKPT. KSN выводится из уникального идентификатора устройства шифрования и внутреннего счетчика транзакций.

DukptKeyVariant -> (строка)

Тип использования DUKPT, который может быть генерацией MAC, проверкой MAC или тем и другим.

DukptDerivationType -> (строка)

Тип ключа, полученного с помощью DUKPT из базового ключа вывода (BDK) и серийного номера ключа (KSN). Он должен быть меньше или равен силе BDK. Например, вы не можете использовать AES_128 в качестве типа вывода для BDK AES_128 или TDES_2KEY.

DukptIso9797Algorithm3 -> (структура)

Параметры, необходимые для генерации или проверки MAC с использованием алгоритма DUKPT ISO 9797.

KeySerialNumber -> (строка)

Уникальный идентификатор, известный как серийный номер ключа (KSN), который поступает от устройства шифрования, использующего метод шифрования DUKPT. KSN выводится из уникального идентификатора устройства шифрования и внутреннего счетчика транзакций.

DukptKeyVariant -> (строка)

Тип использования DUKPT, который может быть генерацией MAC, проверкой MAC или тем и другим.

DukptDerivationType -> (строка)

Тип ключа, полученного с помощью DUKPT из базового ключа вывода (BDK) и серийного номера ключа (KSN). Он должен быть меньше или равен силе BDK. Например, вы не можете использовать AES_128 в качестве типа вывода для BDK AES_128 или TDES_2KEY.

DukptCmac -> (структура)

Параметры, необходимые для генерации или проверки MAC с использованием алгоритма DUKPT CMAC.

KeySerialNumber -> (строка)

Уникальный идентификатор, известный как серийный номер ключа (KSN), который поступает от устройства шифрования, использующего метод шифрования DUKPT. KSN выводится из уникального идентификатора устройства шифрования и внутреннего счетчика транзакций.

DukptKeyVariant -> (строка)

Тип использования DUKPT, который может быть генерацией MAC, проверкой MAC или тем и другим.

DukptDerivationType -> (строка)

Тип ключа, полученного с помощью DUKPT из базового ключа вывода (BDK) и серийного номера ключа (KSN). Он должен быть меньше или равен силе BDK. Например, вы не можете использовать 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 (целое число)

Длина генерируемого MAC.

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному в --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные JSON. Передача произвольных двоичных значений с помощью значения, предоставленного JSON, невозможно, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит каркас JSON в стандартный вывод без отправки запроса API. Если предоставлено значение null или 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
  • таблица
  • yaml
  • yaml-поток

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использование определенного профиля из файла учетных данных.

--region (строка)

Используемый регион. Переопределяет настройки конфигурации/окружения.

--version (строка)

Отображение версии этого инструмента.

--color (строка)

Включение/выключение цветного вывода.

  • вкл
  • выкл
  • авто

--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 для вывода.

--cli-auto-prompt (логическое значение)

Автоматически запрашивать параметры CLI.

--no-cli-auto-prompt (логическое значение)

Отключить автоматический запрос параметров CLI.

Примеры

Примечание

Чтобы использовать следующие примеры, необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. использование кавычек со строками в руководстве пользователя AWS CLI.

Для генерации MAC

Следующий generate-card-validation-data пример генерирует код аутентификации сообщений на основе хешей (HMAC) для аутентификации данных карты, используя алгоритм HMAC_SHA256 и ключ шифрования HMAC. Ключ должен иметь KeyUsage значение TR31_M7_HMAC_KEY и KeyModesOfUse значение Generate.

aws payment-cryptography-data generate-mac \
    --key-identifier arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h \
    --message-data "3b313038383439303031303733393431353d32343038323236303030373030303f33" \
    --generation-attributes Algorithm=HMAC_SHA256

Вывод:

{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h,
    "KeyCheckValue": "2976E7",
    "Mac": "ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C"
}

Дополнительную информацию см. в разделе Генерация MAC в руководстве пользователя AWS Payment Cryptography.

Вывод

KeyArn -> (строка)

Идентификатор ключа шифрования, который Amazon Web Services Payment Cryptography использует для генерации MAC.

KeyCheckValue -> (строка)

Значение проверки ключа (KCV) ключа шифрования. KCV используется для проверки того, что все стороны, имеющие данный ключ, имеют один и тот же ключ, или для обнаружения изменения ключа.

Amazon Web Services Payment Cryptography вычисляет KCV в соответствии со спецификацией CMAC.

Mac -> (строка)

Криптограмма MAC, сгенерированная в Amazon Web Services Payment Cryptography.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API