Spec-Zone.ru › AWS CLI v2

[ aws . payment-cryptography-data ]

translate-pin-data

Описание

Преобразует зашифрованный блок ПИН из и в форматы ISO 9564 0, 1, 3, 4. Дополнительную информацию см. в руководстве по криптографии платежей Amazon Web Services, в разделе «Преобразование данных ПИН».

Преобразование блока ПИН включает изменение блока ПИН из одного ключа шифрования в другой и, при необходимости, изменение его формата. Преобразование блока ПИН происходит полностью в пределах границ HSM, и данные ПИН никогда не попадают в открытом виде в Amazon Web Services Криптография платежей. Преобразование ключа шифрования может происходить от PEK (Ключ шифрования ПИН) к BDK (Ключ базового вывода) для DUKPT или от BDK для DUKPT к PEK.

Amazon Web Services Криптография платежей также поддерживает использование динамических ключей и обмен ключами на основе ECDH (Эллиптическая кривая Диффи-Хеллмана) для этой операции.

Динамические ключи позволяют передавать PEK в виде зашифрованного ключа TR-31 WrappedKeyBlock. Они могут использоваться при частом обновлении ключей, например, при каждой транзакции с картой, и нет необходимости импортировать краткосрочные ключи в Amazon Web Services Криптография платежей. Для преобразования блока ПИН с использованием динамических ключей, keyARN является ключом шифрования ключа (KEK) зашифрованного ключа TR-31. Входящий зашифрованный ключ должен иметь назначение ключа P0 и режим использования B или D. Дополнительную информацию см. в руководстве по криптографии платежей Amazon Web Services, в разделе «Использование динамических ключей».

Используя обмен ключами ECDH, вы можете получать выбираемые держателем карты ПИН в Amazon Web Services Криптография платежей. Ключ, полученный с помощью ECDH, защищает входящий блок ПИН, который преобразуется в блок ПИН, зашифрованный PEK, для использования в службе. Вы также можете использовать ECDH для раскрытия ПИН, при котором служба преобразует блок ПИН из PEK в ключ шифрования, полученный с помощью ECDH. Дополнительную информацию об установлении ключей, полученных с помощью ECDH, см. в руководстве по криптографии платежей Amazon Web Services, в разделе «Генерация ключей».

Допустимые комбинации преобразований форматов блоков ПИН определяются PCI. Важно отметить, что не все зашифрованные форматы блоков ПИН (например, формат 1) требуют PAN (Основной номер счета) в качестве входных данных. Таким образом, формат блока ПИН, который требует PAN (например, форматы 0, 3, 4), не может быть преобразован в формат (формат 1), который не требует PAN для генерации.

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

Примечание

Amazon Web Services Криптография платежей в настоящее время поддерживает преобразование блока ПИН ISO 4 для блоков ПИН, созданных с использованием длины PAN устаревшего формата. То есть PAN — это последние 12 цифр, за исключением контрольных цифр.

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

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

  • GeneratePinData
  • VerifyPinData

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

Синопсис

  translate-pin-data
--incoming-key-identifier <value>
--outgoing-key-identifier <value>
--incoming-translation-attributes <value>
--outgoing-translation-attributes <value>
--encrypted-pin-block <value>
[--incoming-dukpt-attributes <value>]
[--outgoing-dukpt-attributes <value>]
[--incoming-wrapped-key <value>]
[--outgoing-wrapped-key <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]

Параметры

--incoming-key-identifier (строка)

Ключ шифрования, под которым шифруются входящие данные PIN-блока. Тип ключа может быть PEK или BDK.

Для динамических ключей это KEK TR-31 обернутого PEK. Для ECDH это асимметричный ключ ECC.

--outgoing-key-identifier (строка)

Ключ шифрования для шифрования исходящих данных PIN-блока. Тип ключа может быть PEK или BDK.

Для ECDH это асимметричный ключ ECC.

--incoming-translation-attributes (структура помеченных объединений)

Формат входящих данных PIN-блока для трансляции в Amazon Web Services Payment Cryptography.

Примечание

Это структура помеченных объединений. Может быть установлен только один из следующих ключей верхнего уровня: IsoFormat0, IsoFormat1, IsoFormat3, IsoFormat4.

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

Параметры, необходимые для трансляции формата PIN ISO9564 0.

PrimaryAccountNumber -> (строка)

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

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

Параметры, необходимые для трансляции формата PIN ISO9564 1.

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

Параметры, необходимые для трансляции формата PIN ISO9564 3.

PrimaryAccountNumber -> (строка)

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

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

Параметры, необходимые для трансляции формата PIN ISO9564 4.

PrimaryAccountNumber -> (строка)

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

Краткая запись:

IsoFormat0={PrimaryAccountNumber=string},IsoFormat1={},IsoFormat3={PrimaryAccountNumber=string},IsoFormat4={PrimaryAccountNumber=string}

Синтаксис JSON:

{
  "IsoFormat0": {
    "PrimaryAccountNumber": "string"
  },
  "IsoFormat1": {

  },
  "IsoFormat3": {
    "PrimaryAccountNumber": "string"
  },
  "IsoFormat4": {
    "PrimaryAccountNumber": "string"
  }
}

--outgoing-translation-attributes (структура помеченных объединений)

Формат исходящих данных PIN-блока после трансляции Amazon Web Services Payment Cryptography.

Примечание

Это структура помеченных объединений. Может быть установлен только один из следующих ключей верхнего уровня: IsoFormat0, IsoFormat1, IsoFormat3, IsoFormat4.

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

Параметры, необходимые для трансляции формата PIN ISO9564 0.

PrimaryAccountNumber -> (строка)

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

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

Параметры, необходимые для трансляции формата PIN ISO9564 1.

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

Параметры, необходимые для трансляции формата PIN ISO9564 3.

PrimaryAccountNumber -> (строка)

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

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

Параметры, необходимые для трансляции формата PIN ISO9564 4.

PrimaryAccountNumber -> (строка)

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

Краткая запись:

IsoFormat0={PrimaryAccountNumber=string},IsoFormat1={},IsoFormat3={PrimaryAccountNumber=string},IsoFormat4={PrimaryAccountNumber=string}

Синтаксис JSON:

{
  "IsoFormat0": {
    "PrimaryAccountNumber": "string"
  },
  "IsoFormat1": {

  },
  "IsoFormat3": {
    "PrimaryAccountNumber": "string"
  },
  "IsoFormat4": {
    "PrimaryAccountNumber": "string"
  }
}

--encrypted-pin-block (строка)

Зашифрованные данные PIN-блока, которые транслирует Amazon Web Services Payment Cryptography.

--incoming-dukpt-attributes (структура)

Атрибуты и значения для шифрования входящего ключа DUKPT для трансляции PIN-блока.

KeySerialNumber -> (строка)

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

DukptKeyDerivationType -> (строка)

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

DukptKeyVariant -> (строка)

Тип использования DUKPT, который может быть для дешифрования входящих данных, шифрования исходящих данных или обоих.

Краткая запись:

KeySerialNumber=string,DukptKeyDerivationType=string,DukptKeyVariant=string

Синтаксис JSON:

{
  "KeySerialNumber": "string",
  "DukptKeyDerivationType": "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256",
  "DukptKeyVariant": "BIDIRECTIONAL"|"REQUEST"|"RESPONSE"
}

--outgoing-dukpt-attributes (структура)

Атрибуты и значения для использования исходящего ключа DUKPT после трансляции PIN-блока.

KeySerialNumber -> (строка)

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

DukptKeyDerivationType -> (строка)

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

DukptKeyVariant -> (строка)

Тип использования DUKPT, который может быть для дешифрования входящих данных, шифрования исходящих данных или обоих.

Краткая запись:

KeySerialNumber=string,DukptKeyDerivationType=string,DukptKeyVariant=string

Синтаксис JSON:

{
  "KeySerialNumber": "string",
  "DukptKeyDerivationType": "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256",
  "DukptKeyVariant": "BIDIRECTIONAL"|"REQUEST"|"RESPONSE"
}

--incoming-wrapped-key (структура)

WrappedKeyBlock, содержащий ключ шифрования, под которым шифруются входящие данные PIN-блока.

WrappedKeyMaterial -> (структура помеченных объединений)

Информация о параметрах WrappedKeyBlock для обмена ключами шифрования.

Примечание

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

Tr31KeyBlock -> (строка)

Обёрнутый ключ блока TR-31.

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

Информация о параметрах для вывода общего ключа ECDH.

CertificateAuthorityPublicKeyIdentifier -> (строка)

Идентификатор сертификата, подписавшего открытый ключ клиента.

PublicKeyCertificate -> (строка)

Открытый ключ клиента в формате PEM (кодированном в base64) для вывода ключа ECDH.

KeyAlgorithm -> (строка)

Алгоритм ключа выведенного ключа ECDH.

KeyDerivationFunction -> (строка)

Функция вывода ключа для вывода ключа с помощью ECDH.

KeyDerivationHashAlgorithm -> (строка)

Тип хеширования для вывода ключа с помощью ECDH.

SharedInformation -> (строка)

Строка байтов, содержащая информацию, которая связывает выведенный ключ ECDH с двумя участвующими сторонами или контекстом ключа.

Она может включать сведения, такие как идентификаторы двух сторон, выводящих ключ, контекст операции, идентификаторы сеансов и, необязательно, nonce. Она не должна содержать нулевые байты, и повторное использование общей информации для нескольких выводов ключей ECDH не рекомендуется.

KeyCheckValueAlgorithm -> (строка)

Алгоритм, используемый Amazon Web Services Payment Cryptography для вычисления значения проверки ключа (KCV). Он используется для проверки целостности ключа.

Для ключей TDES KCV вычисляется путём шифрования 8 байтов, каждый со значением ноль, ключом, подлежащим проверке, и сохранением 3 самых старших байтов результата шифрования. Для ключей AES KCV вычисляется с помощью алгоритма CMAC, где входные данные составляют 16 байтов нулей, и сохраняются 3 самых старших байта результата шифрования.

Краткая запись:

WrappedKeyMaterial={Tr31KeyBlock=string,DiffieHellmanSymmetricKey={CertificateAuthorityPublicKeyIdentifier=string,PublicKeyCertificate=string,KeyAlgorithm=string,KeyDerivationFunction=string,KeyDerivationHashAlgorithm=string,SharedInformation=string}},KeyCheckValueAlgorithm=string

Синтаксис JSON:

{
  "WrappedKeyMaterial": {
    "Tr31KeyBlock": "string",
    "DiffieHellmanSymmetricKey": {
      "CertificateAuthorityPublicKeyIdentifier": "string",
      "PublicKeyCertificate": "string",
      "KeyAlgorithm": "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256",
      "KeyDerivationFunction": "NIST_SP800"|"ANSI_X963",
      "KeyDerivationHashAlgorithm": "SHA_256"|"SHA_384"|"SHA_512",
      "SharedInformation": "string"
    }
  },
  "KeyCheckValueAlgorithm": "CMAC"|"ANSI_X9_24"
}

--outgoing-wrapped-key (структура)

WrappedKeyBlock, содержащий ключ шифрования для шифрования исходящих данных PIN-блока.

WrappedKeyMaterial -> (структура помеченных объединений)

Информация о параметрах WrappedKeyBlock для обмена ключами шифрования.

Примечание

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

Tr31KeyBlock -> (строка)

Обёрнутый ключ блока TR-31.

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

Информация о параметрах для вывода общего ключа ECDH.

CertificateAuthorityPublicKeyIdentifier -> (строка)

Идентификатор сертификата, подписавшего открытый ключ клиента.

PublicKeyCertificate -> (строка)

Открытый ключ клиента в формате PEM (кодированном в base64) для вывода ключа ECDH.

KeyAlgorithm -> (строка)

Алгоритм ключа выведенного ключа ECDH.

KeyDerivationFunction -> (строка)

Функция вывода ключа для вывода ключа с помощью ECDH.

KeyDerivationHashAlgorithm -> (строка)

Тип хеширования для вывода ключа с помощью ECDH.

SharedInformation -> (строка)

Строка байтов, содержащая информацию, которая связывает выведенный ключ ECDH с двумя участвующими сторонами или контекстом ключа.

Она может включать сведения, такие как идентификаторы двух сторон, выводящих ключ, контекст операции, идентификаторы сеансов и, необязательно, nonce. Она не должна содержать нулевые байты, и повторное использование общей информации для нескольких выводов ключей ECDH не рекомендуется.

KeyCheckValueAlgorithm -> (строка)

Алгоритм, используемый Amazon Web Services Payment Cryptography для вычисления значения проверки ключа (KCV). Он используется для проверки целостности ключа.

Для ключей TDES KCV вычисляется путём шифрования 8 байтов, каждый со значением ноль, ключом, подлежащим проверке, и сохранением 3 самых старших байтов результата шифрования. Для ключей AES KCV вычисляется с помощью алгоритма CMAC, где входные данные составляют 16 байтов нулей, и сохраняются 3 самых старших байта результата шифрования.

Краткая запись:

WrappedKeyMaterial={Tr31KeyBlock=string,DiffieHellmanSymmetricKey={CertificateAuthorityPublicKeyIdentifier=string,PublicKeyCertificate=string,KeyAlgorithm=string,KeyDerivationFunction=string,KeyDerivationHashAlgorithm=string,SharedInformation=string}},KeyCheckValueAlgorithm=string

Синтаксис JSON:

{
  "WrappedKeyMaterial": {
    "Tr31KeyBlock": "string",
    "DiffieHellmanSymmetricKey": {
      "CertificateAuthorityPublicKeyIdentifier": "string",
      "PublicKeyCertificate": "string",
      "KeyAlgorithm": "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256",
      "KeyDerivationFunction": "NIST_SP800"|"ANSI_X963",
      "KeyDerivationHashAlgorithm": "SHA_256"|"SHA_384"|"SHA_512",
      "SharedInformation": "string"
    }
  },
  "KeyCheckValueAlgorithm": "CMAC"|"ANSI_X9_24"
}

--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
  • таблица
  • 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.

Для перевода данных PIN

В следующем translate-pin-data примере происходит перевод данных PIN из шифрования PEK TDES с использованием блока PIN ISO 0 в блок PIN AES ISO 4 с использованием алгоритма DUKPT.

aws payment-cryptography-data translate-pin-data \
    --encrypted-pin-block "AC17DC148BDA645E" \
    --incoming-translation-attributes=IsoFormat0='{PrimaryAccountNumber=171234567890123}' \
    --incoming-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt \
    --outgoing-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/4pmyquwjs3yj4vwe \
    --outgoing-translation-attributes IsoFormat4="{PrimaryAccountNumber=171234567890123}" \
    --outgoing-dukpt-attributes KeySerialNumber="FFFF9876543210E00008"

Вывод:

{
    "PinBlock": "1F4209C670E49F83E75CC72E81B787D9",
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt
    "KeyCheckValue": "7CC9E2"
}

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

Вывод

PinBlock -> (строка)

Зашифрованные данные выходного блока PIN после перевода.

KeyArn -> (строка)

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

KeyCheckValue -> (строка)

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

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

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

Spec-Zone.ru

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