[ aws . payment-cryptography-data ]
decrypt-data
Описание
Расшифровывает данные шифрованного текста в открытый текст с использованием симметричного (TDES, AES), асимметричного (RSA) или производного (DUKPT или EMV) ключа шифрования. Дополнительную информацию см. в разделе Расшифровка данных в руководстве пользователя Amazon Web Services Payment Cryptography.
Можно использовать ключ расшифровки, сгенерированный в Amazon Web Services Payment Cryptography, или импортировать собственный ключ расшифровки, вызвав ImportKey. Для этой операции ключ должен иметь KeyModesOfUse, установленное на значение Decrypt. При асимметричной расшифровке Amazon Web Services Payment Cryptography расшифровывает шифрованный текст, используя приватную часть пары асимметричных ключей. Для шифрования данных за пределами Amazon Web Services Payment Cryptography можно экспортировать общедоступную часть пары асимметричных ключей, вызвав GetPublicCertificate.
Данная операция также поддерживает динамические ключи, позволяя передавать динамический ключ расшифровки в виде TR-31 WrappedKeyBlock. Это можно использовать, когда ключ часто меняется, например, при каждой транзакции с картой, и нет необходимости импортировать краткосрочные ключи в Amazon Web Services Payment Cryptography. Для расшифровки с помощью динамических ключей keyARN является ключом шифрования ключа (KEK) TR-31 упакованного материала ключа расшифровки. Входящий упакованный ключ должен иметь назначение ключа D0 с режимом использования B или D. Дополнительную информацию см. в разделе Использование динамических ключей в руководстве пользователя Amazon Web Services Payment Cryptography.
Для симметричной и 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 длина должна быть равна размеру ключа, если не включена функция дополнения.
Дополнительную информацию о допустимых ключах для этой операции см. в разделе Понимание атрибутов ключей и типов ключей для конкретных операций с данными в руководстве пользователя Amazon Web Services Payment Cryptography.
Использование в разных учетных записях: Эта операция не может использоваться в разных учетных записях Amazon Web Services.
Связанные операции:
- EncryptData
- GetPublicCertificate
- ImportKey
См. также: Документация по API AWS
Синтаксис
decrypt-data
--key-identifier <value>
--cipher-text <value>
--decryption-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 это значение будет идентификатором ключа обертки. В противном случае это идентификатор ключа, используемый для выполнения операции.
--cipher-text (строка)
--decryption-attributes (структура тегированного объединения)
Тип и атрибуты ключа шифрования для расшифровки шифрованного текста.
Примечание
Это структура тегированного объединения. Можно установить только один из следующих верхних уровней ключей:Symmetric, Asymmetric, Dukpt, Emv.Симметричный -> (структура)
Параметры, необходимые для шифрования и расшифровки с использованием симметричных ключей.
Режим -> (строка)
InitializationVector -> (строка)
PaddingType -> (строка)
Асимметричный -> (структура)
Параметры для шифрования открытого текста с использованием асимметричных ключей.
PaddingType -> (строка)
Dukpt -> (структура)
Параметры, необходимые для шифрования открытого текста с использованием DUKPT.
KeySerialNumber -> (строка)
Режим -> (строка)
Метод блочного шифра для шифрования.
По умолчанию используется CBC.
DukptKeyDerivationType -> (строка)
AES_128 в качестве типа вывода для BDK AES_128 или TDES_2KEYDukptKeyVariant -> (строка)
InitializationVector -> (строка)
Emv -> (структура)
Параметры для шифрования открытого текста с использованием ключей EMV.
MajorKeyDerivationMode -> (строка)
PrimaryAccountNumber -> (строка)
PanSequenceNumber -> (строка)
SessionDerivationData -> (строка)
Режим -> (строка)
InitializationVector -> (строка)
Сокращенный синтаксис:
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 -> (строка)
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. Если предоставлено значение или значение 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 версии 1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, отображающегося как двоичный блок fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить страницу для вывода.
--cli-auto-prompt (boolean)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическую запрос параметров ввода CLI.
Примеры
Примечание
Чтобы использовать следующие примеры, необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования в стиле Unix. Эти примеры необходимо адаптировать к правилам цитирования вашего терминала. См. Использование кавычек со строками в руководстве пользователя AWS CLI.
Для дешифрования зашифрованного текста
Следующий decrypt-data пример дешифрует данные зашифрованного текста с использованием симметрического ключа. Для этой операции ключ должен иметь KeyModesOfUse, установленное на Decrypt, и KeyUsage, установленное на TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY.
aws payment-cryptography-data decrypt-data \
--key-identifier arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h \
--cipher-text 33612AB9D6929C3A828EB6030082B2BD \
--decryption-attributes 'Symmetric={Mode=CBC}'
Вывод:
{
"KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h",
"KeyCheckValue": "71D7AE",
"PlainText": "31323334313233343132333431323334"
}
Дополнительную информацию см. в разделе Дешифрование данных в руководстве пользователя AWS Payment Cryptography.
Вывод
KeyArn -> (строка)
KeyCheckValue -> (строка)
Значение проверки ключа (KCV) ключа шифрования. KCV используется для проверки того, что все стороны, владеющие данным ключом, имеют один и тот же ключ, или для обнаружения изменения ключа.
Amazon Web Services Payment Cryptography вычисляет KCV в соответствии со спецификацией CMAC.
PlainText -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.