Spec-Zone.ru › AWS CLI v2

[ aws . payment-cryptography-data ]

encrypt-data

Описание

Шифрует данные в открытом тексте в зашифрованный текст с использованием симметричного (TDES, AES), асимметричного (RSA) или производного (DUKPT или EMV) схемы шифрования ключа. Для получения дополнительной информации см. Шифрование данных в Руководстве пользователя по шифрованию платежей Amazon Web Services.

Вы можете сгенерировать ключ шифрования в Amazon Web Services Payment Cryptography, вызвав CreateKey. Вы можете импортировать свой собственный ключ шифрования, вызвав ImportKey.

Для данной операции ключ должен иметь KeyModesOfUse, установленное на Encrypt. При асимметричном шифровании открытый текст шифруется с помощью публичной компоненты. Вы можете импортировать публичную компоненту пары асимметричных ключей, созданной за пределами Amazon Web Services Payment Cryptography, вызвав ImportKey.

Данная операция также поддерживает динамические ключи, позволяющие передавать динамический ключ шифрования в виде TR-31 WrappedKeyBlock. Это может быть полезно, когда материал ключа часто вращается, например, при каждой транзакции по карте, и нет необходимости импортировать кратковременные ключи в Amazon Web Services Payment Cryptography. Для шифрования с использованием динамических ключей keyARN — это ключ шифрования ключа (KEK) TR-31 обернутого материала ключа шифрования. Входящий обернутый ключ должен иметь назначение ключа D0 и режим использования B или D. Для получения дополнительной информации см. Использование динамических ключей в Руководстве пользователя по шифрованию платежей Amazon Web Services.

Для симметричного и DUKPT шифрования Amazon Web Services Payment Cryptography поддерживает TDES и AES алгоритмы. Для EMV шифрования Amazon Web Services Payment Cryptography поддерживает TDES алгоритмы. Для асимметричного шифрования Amazon Web Services Payment Cryptography поддерживает RSA.

При использовании TDES или TDES DUKPT длина данных в открытом тексте должна быть кратна 8 байтам. Для AES или AES DUKPT длина данных в открытом тексте должна быть кратна 16 байтам. Для RSA она должна быть равна размеру ключа, если не включена функция заполнения.

Для шифрования с помощью DUKPT у вас должен быть ключ BDK (Базовый ключ вывода) в вашем аккаунте с KeyModesOfUse, установленным на DeriveKey, или вы можете сгенерировать новый ключ DUKPT, вызвав CreateKey. Для шифрования с помощью EMV у вас должен быть ключ IMK (Ключ главного эмитента) в вашем аккаунте с KeyModesOfUse, установленным на DeriveKey.

Сведения о допустимых ключах для этой операции см. в разделе Описание атрибутов ключей и Типы ключей для конкретных операций с данными в Руководстве пользователя по шифрованию платежей Amazon Web Services.

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

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

  • DecryptData
  • GetPublicCertificate
  • ImportKey
  • ReEncryptData

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

Синтаксис

  encrypt-data
--key-identifier <value>
--plain-text <value>
--encryption-attributes <value>
[--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]

Параметры

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

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

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

--plain-text (строка)

Открытый текст, который необходимо зашифровать.

Примечание

Для шифрования с использованием асимметричных ключей длина данных в открытом тексте ограничена прочностью ключа шифрования, определённой в KeyAlgorithm, и типом заполнения, определённым в AsymmetricEncryptionAttributes. Для получения дополнительной информации см. Шифрование данных в Руководстве пользователя по шифрованию платежей Amazon Web Services.

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

Тип и атрибуты ключа шифрования для шифрования открытого текста.

Примечание

Это структура помеченных объединений. Только один из следующих верхнеуровневых ключей может быть задан: Symmetric, Asymmetric, Dukpt, Emv.

Симметричный -> (структура)

Параметры, необходимые для выполнения шифрования и дешифрования с использованием симметричных ключей.

Режим -> (строка)

Метод блочного шифра для использования при шифровании.

НачальныйВектор -> (строка)

Входные данные, используемые для задания начального состояния. Если значение не предоставлено, Amazon Web Services Payment Cryptography устанавливает его по умолчанию в ноль.

ТипЗаполнения -> (строка)

Тип заполнения, подлежащий включению в данные.

Асимметричный -> (структура)

Параметры для шифрования открытого текста с использованием асимметричных ключей.

ТипЗаполнения -> (строка)

Тип заполнения, подлежащий включению в данные.

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

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

СерийныйНомерКлюча -> (строка)

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

Режим -> (строка)

Метод блочного шифра для использования при шифровании.

По умолчанию CBC.

ТипВыводаКлючаDukpt -> (строка)

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

ВариантDukptКлюча -> (строка)

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

НачальныйВектор -> (строка)

Входные данные, используемые для задания начального состояния. Если значение не предоставлено, Amazon Web Services Payment Cryptography устанавливает его по умолчанию в ноль.

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

Параметры для шифрования открытого текста с использованием ключей EMV.

ОсновнойРежимВыводаКлюча -> (строка)

Режим вывода EMV для вывода главного ключа ICC в соответствии с книгой 2 версии 4.3 EMV.

ОсновнойНомерСчета -> (строка)

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

ПоследовательныйНомерPAN -> (строка)

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

ДанныеСессииВывода -> (строка)

Значение вывода, используемое для вывода ключа сессии ICC. Обычно это значение счётчика транзакций приложения, дополненное нулями, или предыдущее значение ARQC, дополненное нулями, в соответствии с книгой 2 версии 4.3 EMV.

Режим -> (строка)

Метод блочного шифра для использования при шифровании.

НачальныйВектор -> (строка)

Входные данные, используемые для задания начального состояния. Если значение не предоставлено, Amazon Web Services Payment Cryptography устанавливает его по умолчанию в ноль.

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

Symmetric={Mode=string,InitializationVector=string,PaddingType=string},Asymmetric={PaddingType=string},Dukpt={KeySerialNumber=string,Mode=string,DukptKeyDerivationType=string,DukptKeyVariant=string,InitializationVector=string},Emv={MajorKeyDerivationMode=string,PrimaryAccountNumber=string,PanSequenceNumber=string,SessionDerivationData=string,Mode=string,InitializationVector=string}

Синтаксис JSON:

{
  "Symmetric": {
    "Mode": "ECB"|"CBC"|"CFB"|"CFB1"|"CFB8"|"CFB64"|"CFB128"|"OFB",
    "InitializationVector": "string",
    "PaddingType": "PKCS1"|"OAEP_SHA1"|"OAEP_SHA256"|"OAEP_SHA512"
  },
  "Asymmetric": {
    "PaddingType": "PKCS1"|"OAEP_SHA1"|"OAEP_SHA256"|"OAEP_SHA512"
  },
  "Dukpt": {
    "KeySerialNumber": "string",
    "Mode": "ECB"|"CBC",
    "DukptKeyDerivationType": "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256",
    "DukptKeyVariant": "BIDIRECTIONAL"|"REQUEST"|"RESPONSE",
    "InitializationVector": "string"
  },
  "Emv": {
    "MajorKeyDerivationMode": "EMV_OPTION_A"|"EMV_OPTION_B",
    "PrimaryAccountNumber": "string",
    "PanSequenceNumber": "string",
    "SessionDerivationData": "string",
    "Mode": "ECB"|"CBC",
    "InitializationVector": "string"
  }
}

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

WrappedKeyBlock, содержащий ключ шифрования для шифрования открытого текста.

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

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

Примечание

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

Tr31KeyBlock -> (строка)

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

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

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

CertificateAuthorityPublicKeyIdentifier -> (строка)

Идентификатор публичного ключа сертификационного центра, подписавшего PublicKeyCertificate клиента.

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. Если предоставлено значение null или input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, будет выведен пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, оно проверяет входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный JSON скелет не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON скелете.

Общие параметры

--debug (boolean)

Включить отладочную запись.

--endpoint-url (string)

Переопределить URL по умолчанию команды заданным URL.

--no-verify-ssl (boolean)

По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI проверяет SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.

--no-paginate (boolean)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (string)

Стиль форматирования вывода команды.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (string)

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

--profile (string)

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

--region (string)

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

--version (string)

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

--color (string)

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

  • on
  • off
  • auto

--no-sign-request (boolean)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент указан.

--ca-bundle (string)

Файл сертификата CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (int)

Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (int)

Максимальное время подключения сокета в секундах. Если значение равно 0, подключение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (string)

Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — 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 (boolean)

Отключить пагинатор cli для вывода.

--cli-auto-prompt (boolean)

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

--no-cli-auto-prompt (boolean)

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

Примеры

Примечание

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

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

Для шифрования данных

Следующий encrypt-data пример шифрует данные в открытом виде с использованием симметричного ключа. Для этой операции ключ должен иметь KeyModesOfUse, установленное на Encrypt, и KeyUsage, установленное на TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY.

aws payment-cryptography-data encrypt-data \
    --key-identifier arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h \
    --plain-text 31323334313233343132333431323334 \
    --encryption-attributes 'Symmetric={Mode=CBC}'

Вывод:

{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h",
    "KeyCheckValue": "71D7AE",
    "CipherText": "33612AB9D6929C3A828EB6030082B2BD"
}

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

Вывод

KeyArn -> (строка)

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

KeyCheckValue -> (строка)

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

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

CipherText -> (строка)

Зашифрованный шифртекст.

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

Spec-Zone.ru

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