[ 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.Симметричный -> (структура)
Параметры, необходимые для выполнения шифрования и дешифрования с использованием симметричных ключей.
Режим -> (строка)
НачальныйВектор -> (строка)
ТипЗаполнения -> (строка)
Асимметричный -> (структура)
Параметры для шифрования открытого текста с использованием асимметричных ключей.
ТипЗаполнения -> (строка)
Dukpt -> (структура)
Параметры, необходимые для шифрования данных в открытом тексте с помощью DUKPT.
СерийныйНомерКлюча -> (строка)
Режим -> (строка)
Метод блочного шифра для использования при шифровании.
По умолчанию CBC.
ТипВыводаКлючаDukpt -> (строка)
AES_128 в качестве типа вывода для BDK AES_128 или TDES_2KEY
ВариантDukptКлюча -> (строка)
НачальныйВектор -> (строка)
Emv -> (структура)
Параметры для шифрования открытого текста с использованием ключей EMV.
ОсновнойРежимВыводаКлюча -> (строка)
ОсновнойНомерСчета -> (строка)
ПоследовательныйНомерPAN -> (строка)
ДанныеСессииВывода -> (строка)
Режим -> (строка)
НачальныйВектор -> (строка)
Краткая запись:
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 -> (строка)
DiffieHellmanSymmetricKey -> (структура)
Информация о параметрах для получения общего ключа ECDH.
CertificateAuthorityPublicKeyIdentifier -> (строка)
PublicKeyCertificate клиента.PublicKeyCertificate -> (строка)
KeyAlgorithm -> (строка)
KeyDerivationFunction -> (строка)
KeyDerivationHashAlgorithm -> (строка)
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 -> (строка)
KeyCheckValue -> (строка)
Значение проверки ключа (KCV) ключа шифрования. KCV используется для проверки того, имеют ли все стороны, владеющие заданным ключом, один и тот же ключ, или для обнаружения изменений ключа.
Amazon Web Services Payment Cryptography вычисляет KCV в соответствии со спецификацией CMAC.
CipherText -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.