aws-sdk-paymentcryptographydata 1.40.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-paymentcryptographydata/client.rb +119 -12
- data/lib/aws-sdk-paymentcryptographydata/client_api.rb +69 -2
- data/lib/aws-sdk-paymentcryptographydata/types.rb +220 -2
- data/lib/aws-sdk-paymentcryptographydata.rb +1 -1
- data/sig/client.rbs +33 -4
- data/sig/types.rbs +72 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d4d6281b3b0f070359c045251c85d178c9313f41e9b08c4da673056f3b886ed
|
4
|
+
data.tar.gz: 1bc7ed971b2c2d9794f030b49cb19e10b3be96eb1ad9f71bb70c9be3d751a9ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 992e61b5595680a082c3337edb27abc6ce692311ed055d999ad38395c811277b80d97b38fb6bce8e0542f7b382d0cfa8e09e3f30c3018094ec3405b1e651d3ea
|
7
|
+
data.tar.gz: 441ae30230bc96c32163930137d0c1b4f9db05ded2ba6cfa10a6eb367ab09fa083171440b1cbd67f1ca55223d219474a89ed571cb39aa501cd8671e47fe3c419
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.41.0 (2025-10-03)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Added a new API - translateKeyMaterial; allows keys wrapped by ECDH derived keys to be rewrapped under a static AES keyblock without first importing the key into the service.
|
8
|
+
|
4
9
|
1.40.0 (2025-08-27)
|
5
10
|
------------------
|
6
11
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.41.0
|
@@ -921,8 +921,8 @@ module Aws::PaymentCryptographyData
|
|
921
921
|
# You can use this operation to generate a DUPKT, CMAC, HMAC or EMV MAC
|
922
922
|
# by setting generation attributes and algorithm to the associated
|
923
923
|
# values. The MAC generation encryption key must have valid values for
|
924
|
-
# `KeyUsage` such as `TR31_M7_HMAC_KEY` for HMAC generation, and
|
925
|
-
#
|
924
|
+
# `KeyUsage` such as `TR31_M7_HMAC_KEY` for HMAC generation, and the key
|
925
|
+
# must have `KeyModesOfUse` set to `Generate` and `Verify`.
|
926
926
|
#
|
927
927
|
# For information about valid keys for this operation, see
|
928
928
|
# [Understanding key attributes][1] and [Key types for specific data
|
@@ -1241,15 +1241,15 @@ module Aws::PaymentCryptographyData
|
|
1241
1241
|
# @option params [Integer] :pin_data_length
|
1242
1242
|
# The length of PIN under generation.
|
1243
1243
|
#
|
1244
|
-
# @option params [
|
1244
|
+
# @option params [String] :primary_account_number
|
1245
1245
|
# The Primary Account Number (PAN), a unique identifier for a payment
|
1246
1246
|
# credit or debit card that associates the card with a specific account
|
1247
1247
|
# holder.
|
1248
1248
|
#
|
1249
1249
|
# @option params [required, String] :pin_block_format
|
1250
1250
|
# The PIN encoding format for pin data generation as specified in ISO
|
1251
|
-
# 9564. Amazon Web Services Payment Cryptography supports
|
1252
|
-
# and `
|
1251
|
+
# 9564. Amazon Web Services Payment Cryptography supports
|
1252
|
+
# `ISO_Format_0`, `ISO_Format_3` and `ISO_Format_4`.
|
1253
1253
|
#
|
1254
1254
|
# The `ISO_Format_0` PIN block format is equivalent to the ANSI X9.8,
|
1255
1255
|
# VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN
|
@@ -1258,6 +1258,10 @@ module Aws::PaymentCryptographyData
|
|
1258
1258
|
# The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
|
1259
1259
|
# except that the fill digits are random values from 10 to 15.
|
1260
1260
|
#
|
1261
|
+
# The `ISO_Format_4` PIN block format is the only one supporting AES
|
1262
|
+
# encryption. It is similar to `ISO_Format_3` but doubles the pin block
|
1263
|
+
# length by padding with fill digit A and random values from 10 to 15.
|
1264
|
+
#
|
1261
1265
|
# @option params [Types::WrappedKey] :encryption_wrapped_key
|
1262
1266
|
# Parameter information of a WrappedKeyBlock for encryption key
|
1263
1267
|
# exchange.
|
@@ -1308,8 +1312,8 @@ module Aws::PaymentCryptographyData
|
|
1308
1312
|
# },
|
1309
1313
|
# },
|
1310
1314
|
# pin_data_length: 1,
|
1311
|
-
# primary_account_number: "PrimaryAccountNumberType",
|
1312
|
-
# pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3, ISO_FORMAT_4
|
1315
|
+
# primary_account_number: "PrimaryAccountNumberType",
|
1316
|
+
# pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_1, ISO_FORMAT_3, ISO_FORMAT_4
|
1313
1317
|
# encryption_wrapped_key: {
|
1314
1318
|
# wrapped_key_material: { # required
|
1315
1319
|
# tr_31_key_block: "Tr31WrappedKeyBlock",
|
@@ -1513,6 +1517,109 @@ module Aws::PaymentCryptographyData
|
|
1513
1517
|
req.send_request(options)
|
1514
1518
|
end
|
1515
1519
|
|
1520
|
+
# Translates an encryption key between different wrapping keys without
|
1521
|
+
# importing the key into Amazon Web Services Payment Cryptography.
|
1522
|
+
#
|
1523
|
+
# This operation can be used when key material is frequently rotated,
|
1524
|
+
# such as during every card transaction, and there is a need to avoid
|
1525
|
+
# importing short-lived keys into Amazon Web Services Payment
|
1526
|
+
# Cryptography. It translates short-lived transaction keys such as Pin
|
1527
|
+
# Encryption Key (PEK) generated for each transaction and wrapped with
|
1528
|
+
# an ECDH (Elliptic Curve Diffie-Hellman) derived wrapping key to
|
1529
|
+
# another KEK (Key Encryption Key) wrapping key.
|
1530
|
+
#
|
1531
|
+
# Before using this operation, you must first request the public key
|
1532
|
+
# certificate of the ECC key pair generated within Amazon Web Services
|
1533
|
+
# Payment Cryptography to establish an ECDH key agreement. In
|
1534
|
+
# `TranslateKeyData`, the service uses its own ECC key pair, public
|
1535
|
+
# certificate of receiving ECC key pair, and the key derivation
|
1536
|
+
# parameters to generate a derived key. The service uses this derived
|
1537
|
+
# key to unwrap the incoming transaction key received as a
|
1538
|
+
# TR31WrappedKeyBlock and re-wrap using a user provided KEK to generate
|
1539
|
+
# an outgoing Tr31WrappedKeyBlock. For more information on establishing
|
1540
|
+
# ECDH derived keys, see the [Creating keys][1] in the *Amazon Web
|
1541
|
+
# Services Payment Cryptography User Guide*.
|
1542
|
+
#
|
1543
|
+
# For information about valid keys for this operation, see
|
1544
|
+
# [Understanding key attributes][2] and [Key types for specific data
|
1545
|
+
# operations][3] in the *Amazon Web Services Payment Cryptography User
|
1546
|
+
# Guide*.
|
1547
|
+
#
|
1548
|
+
# **Cross-account use**: This operation can't be used across different
|
1549
|
+
# Amazon Web Services accounts.
|
1550
|
+
#
|
1551
|
+
# **Related operations:**
|
1552
|
+
#
|
1553
|
+
# * [CreateKey][4]
|
1554
|
+
#
|
1555
|
+
# * [GetPublicCertificate][5]
|
1556
|
+
#
|
1557
|
+
# * [ImportKey][6]
|
1558
|
+
#
|
1559
|
+
#
|
1560
|
+
#
|
1561
|
+
# [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html
|
1562
|
+
# [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
|
1563
|
+
# [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
|
1564
|
+
# [4]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
|
1565
|
+
# [5]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
|
1566
|
+
# [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
|
1567
|
+
#
|
1568
|
+
# @option params [required, Types::IncomingKeyMaterial] :incoming_key_material
|
1569
|
+
# Parameter information of the TR31WrappedKeyBlock containing the
|
1570
|
+
# transaction key.
|
1571
|
+
#
|
1572
|
+
# @option params [required, Types::OutgoingKeyMaterial] :outgoing_key_material
|
1573
|
+
# Parameter information of the wrapping key used to wrap the transaction
|
1574
|
+
# key in the outgoing TR31WrappedKeyBlock.
|
1575
|
+
#
|
1576
|
+
# @option params [String] :key_check_value_algorithm
|
1577
|
+
# The key check value (KCV) algorithm used for calculating the KCV.
|
1578
|
+
#
|
1579
|
+
# @return [Types::TranslateKeyMaterialOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1580
|
+
#
|
1581
|
+
# * {Types::TranslateKeyMaterialOutput#wrapped_key #wrapped_key} => Types::WrappedWorkingKey
|
1582
|
+
#
|
1583
|
+
# @example Request syntax with placeholder values
|
1584
|
+
#
|
1585
|
+
# resp = client.translate_key_material({
|
1586
|
+
# incoming_key_material: { # required
|
1587
|
+
# diffie_hellman_tr_31_key_block: {
|
1588
|
+
# private_key_identifier: "KeyArnOrKeyAliasType", # required
|
1589
|
+
# certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
|
1590
|
+
# public_key_certificate: "CertificateType", # required
|
1591
|
+
# derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224
|
1592
|
+
# key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
|
1593
|
+
# key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
|
1594
|
+
# derivation_data: { # required
|
1595
|
+
# shared_information: "SharedInformation",
|
1596
|
+
# },
|
1597
|
+
# wrapped_key_block: "Tr31WrappedKeyBlock", # required
|
1598
|
+
# },
|
1599
|
+
# },
|
1600
|
+
# outgoing_key_material: { # required
|
1601
|
+
# tr_31_key_block: {
|
1602
|
+
# wrapping_key_identifier: "KeyArnOrKeyAliasType", # required
|
1603
|
+
# },
|
1604
|
+
# },
|
1605
|
+
# key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC, SHA_1
|
1606
|
+
# })
|
1607
|
+
#
|
1608
|
+
# @example Response structure
|
1609
|
+
#
|
1610
|
+
# resp.wrapped_key.wrapped_key_material #=> String
|
1611
|
+
# resp.wrapped_key.key_check_value #=> String
|
1612
|
+
# resp.wrapped_key.wrapped_key_material_format #=> String, one of "KEY_CRYPTOGRAM", "TR31_KEY_BLOCK", "TR34_KEY_BLOCK"
|
1613
|
+
#
|
1614
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslateKeyMaterial AWS API Documentation
|
1615
|
+
#
|
1616
|
+
# @overload translate_key_material(params = {})
|
1617
|
+
# @param [Hash] params ({})
|
1618
|
+
def translate_key_material(params = {}, options = {})
|
1619
|
+
req = build_request(:translate_key_material, params)
|
1620
|
+
req.send_request(options)
|
1621
|
+
end
|
1622
|
+
|
1516
1623
|
# Translates encrypted PIN block from and to ISO 9564 formats 0,1,3,4.
|
1517
1624
|
# For more information, see [Translate PIN data][1] in the *Amazon Web
|
1518
1625
|
# Services Payment Cryptography User Guide*.
|
@@ -1545,7 +1652,7 @@ module Aws::PaymentCryptographyData
|
|
1545
1652
|
# encrypted PIN block for use within the service. You can also use ECDH
|
1546
1653
|
# for reveal PIN, wherein the service translates the PIN block from PEK
|
1547
1654
|
# to a ECDH derived encryption key. For more information on establishing
|
1548
|
-
# ECDH derived keys, see the [
|
1655
|
+
# ECDH derived keys, see the [Creating keys][3] in the *Amazon Web
|
1549
1656
|
# Services Payment Cryptography User Guide*.
|
1550
1657
|
#
|
1551
1658
|
# The allowed combinations of PIN block format translations are guided
|
@@ -2119,7 +2226,7 @@ module Aws::PaymentCryptographyData
|
|
2119
2226
|
# The encrypted PIN block data that Amazon Web Services Payment
|
2120
2227
|
# Cryptography verifies.
|
2121
2228
|
#
|
2122
|
-
# @option params [
|
2229
|
+
# @option params [String] :primary_account_number
|
2123
2230
|
# The Primary Account Number (PAN), a unique identifier for a payment
|
2124
2231
|
# credit or debit card that associates the card with a specific account
|
2125
2232
|
# holder.
|
@@ -2171,8 +2278,8 @@ module Aws::PaymentCryptographyData
|
|
2171
2278
|
# },
|
2172
2279
|
# },
|
2173
2280
|
# encrypted_pin_block: "EncryptedPinBlockType", # required
|
2174
|
-
# primary_account_number: "PrimaryAccountNumberType",
|
2175
|
-
# pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3, ISO_FORMAT_4
|
2281
|
+
# primary_account_number: "PrimaryAccountNumberType",
|
2282
|
+
# pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_1, ISO_FORMAT_3, ISO_FORMAT_4
|
2176
2283
|
# pin_data_length: 1,
|
2177
2284
|
# dukpt_attributes: {
|
2178
2285
|
# key_serial_number: "HexLength16Or20Or24", # required
|
@@ -2228,7 +2335,7 @@ module Aws::PaymentCryptographyData
|
|
2228
2335
|
tracer: tracer
|
2229
2336
|
)
|
2230
2337
|
context[:gem_name] = 'aws-sdk-paymentcryptographydata'
|
2231
|
-
context[:gem_version] = '1.
|
2338
|
+
context[:gem_version] = '1.41.0'
|
2232
2339
|
Seahorse::Client::Request.new(handlers, context)
|
2233
2340
|
end
|
2234
2341
|
|
@@ -39,6 +39,7 @@ module Aws::PaymentCryptographyData
|
|
39
39
|
DecryptDataInput = Shapes::StructureShape.new(name: 'DecryptDataInput')
|
40
40
|
DecryptDataOutput = Shapes::StructureShape.new(name: 'DecryptDataOutput')
|
41
41
|
DerivationMethodAttributes = Shapes::UnionShape.new(name: 'DerivationMethodAttributes')
|
42
|
+
DiffieHellmanDerivationData = Shapes::UnionShape.new(name: 'DiffieHellmanDerivationData')
|
42
43
|
DiscoverDynamicCardVerificationCode = Shapes::StructureShape.new(name: 'DiscoverDynamicCardVerificationCode')
|
43
44
|
DukptAttributes = Shapes::StructureShape.new(name: 'DukptAttributes')
|
44
45
|
DukptDerivationAttributes = Shapes::StructureShape.new(name: 'DukptDerivationAttributes')
|
@@ -79,6 +80,8 @@ module Aws::PaymentCryptographyData
|
|
79
80
|
Ibm3624PinOffset = Shapes::StructureShape.new(name: 'Ibm3624PinOffset')
|
80
81
|
Ibm3624PinVerification = Shapes::StructureShape.new(name: 'Ibm3624PinVerification')
|
81
82
|
Ibm3624RandomPin = Shapes::StructureShape.new(name: 'Ibm3624RandomPin')
|
83
|
+
IncomingDiffieHellmanTr31KeyBlock = Shapes::StructureShape.new(name: 'IncomingDiffieHellmanTr31KeyBlock')
|
84
|
+
IncomingKeyMaterial = Shapes::UnionShape.new(name: 'IncomingKeyMaterial')
|
82
85
|
InitializationVectorType = Shapes::StringShape.new(name: 'InitializationVectorType')
|
83
86
|
IntegerRangeBetween0And6 = Shapes::IntegerShape.new(name: 'IntegerRangeBetween0And6')
|
84
87
|
IntegerRangeBetween3And5Type = Shapes::IntegerShape.new(name: 'IntegerRangeBetween3And5Type')
|
@@ -91,6 +94,7 @@ module Aws::PaymentCryptographyData
|
|
91
94
|
KeyCheckValueAlgorithm = Shapes::StringShape.new(name: 'KeyCheckValueAlgorithm')
|
92
95
|
KeyDerivationFunction = Shapes::StringShape.new(name: 'KeyDerivationFunction')
|
93
96
|
KeyDerivationHashAlgorithm = Shapes::StringShape.new(name: 'KeyDerivationHashAlgorithm')
|
97
|
+
KeyMaterial = Shapes::StringShape.new(name: 'KeyMaterial')
|
94
98
|
MacAlgorithm = Shapes::StringShape.new(name: 'MacAlgorithm')
|
95
99
|
MacAlgorithmDukpt = Shapes::StructureShape.new(name: 'MacAlgorithmDukpt')
|
96
100
|
MacAlgorithmEmv = Shapes::StructureShape.new(name: 'MacAlgorithmEmv')
|
@@ -101,6 +105,8 @@ module Aws::PaymentCryptographyData
|
|
101
105
|
MasterCardAttributes = Shapes::StructureShape.new(name: 'MasterCardAttributes')
|
102
106
|
MessageDataType = Shapes::StringShape.new(name: 'MessageDataType')
|
103
107
|
NumberLengthEquals2 = Shapes::StringShape.new(name: 'NumberLengthEquals2')
|
108
|
+
OutgoingKeyMaterial = Shapes::UnionShape.new(name: 'OutgoingKeyMaterial')
|
109
|
+
OutgoingTr31KeyBlock = Shapes::StructureShape.new(name: 'OutgoingTr31KeyBlock')
|
104
110
|
PaddingType = Shapes::StringShape.new(name: 'PaddingType')
|
105
111
|
PinBlockFormatForEmvPinChange = Shapes::StringShape.new(name: 'PinBlockFormatForEmvPinChange')
|
106
112
|
PinBlockFormatForPinData = Shapes::StringShape.new(name: 'PinBlockFormatForPinData')
|
@@ -139,6 +145,8 @@ module Aws::PaymentCryptographyData
|
|
139
145
|
Tr31WrappedKeyBlock = Shapes::StringShape.new(name: 'Tr31WrappedKeyBlock')
|
140
146
|
TrackDataType = Shapes::StringShape.new(name: 'TrackDataType')
|
141
147
|
TransactionDataType = Shapes::StringShape.new(name: 'TransactionDataType')
|
148
|
+
TranslateKeyMaterialInput = Shapes::StructureShape.new(name: 'TranslateKeyMaterialInput')
|
149
|
+
TranslateKeyMaterialOutput = Shapes::StructureShape.new(name: 'TranslateKeyMaterialOutput')
|
142
150
|
TranslatePinDataInput = Shapes::StructureShape.new(name: 'TranslatePinDataInput')
|
143
151
|
TranslatePinDataOutput = Shapes::StructureShape.new(name: 'TranslatePinDataOutput')
|
144
152
|
TranslationIsoFormats = Shapes::UnionShape.new(name: 'TranslationIsoFormats')
|
@@ -166,6 +174,8 @@ module Aws::PaymentCryptographyData
|
|
166
174
|
VisaPinVerificationValue = Shapes::StructureShape.new(name: 'VisaPinVerificationValue')
|
167
175
|
WrappedKey = Shapes::StructureShape.new(name: 'WrappedKey')
|
168
176
|
WrappedKeyMaterial = Shapes::UnionShape.new(name: 'WrappedKeyMaterial')
|
177
|
+
WrappedKeyMaterialFormat = Shapes::StringShape.new(name: 'WrappedKeyMaterialFormat')
|
178
|
+
WrappedWorkingKey = Shapes::StructureShape.new(name: 'WrappedWorkingKey')
|
169
179
|
|
170
180
|
AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
|
171
181
|
AccessDeniedException.struct_class = Types::AccessDeniedException
|
@@ -282,6 +292,12 @@ module Aws::PaymentCryptographyData
|
|
282
292
|
DerivationMethodAttributes.add_member_subclass(:unknown, Types::DerivationMethodAttributes::Unknown)
|
283
293
|
DerivationMethodAttributes.struct_class = Types::DerivationMethodAttributes
|
284
294
|
|
295
|
+
DiffieHellmanDerivationData.add_member(:shared_information, Shapes::ShapeRef.new(shape: SharedInformation, location_name: "SharedInformation"))
|
296
|
+
DiffieHellmanDerivationData.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
|
297
|
+
DiffieHellmanDerivationData.add_member_subclass(:shared_information, Types::DiffieHellmanDerivationData::SharedInformation)
|
298
|
+
DiffieHellmanDerivationData.add_member_subclass(:unknown, Types::DiffieHellmanDerivationData::Unknown)
|
299
|
+
DiffieHellmanDerivationData.struct_class = Types::DiffieHellmanDerivationData
|
300
|
+
|
285
301
|
DiscoverDynamicCardVerificationCode.add_member(:card_expiry_date, Shapes::ShapeRef.new(shape: CardExpiryDateType, required: true, location_name: "CardExpiryDate"))
|
286
302
|
DiscoverDynamicCardVerificationCode.add_member(:unpredictable_number, Shapes::ShapeRef.new(shape: HexLengthBetween2And8, required: true, location_name: "UnpredictableNumber"))
|
287
303
|
DiscoverDynamicCardVerificationCode.add_member(:application_transaction_counter, Shapes::ShapeRef.new(shape: HexLengthBetween2And4, required: true, location_name: "ApplicationTransactionCounter"))
|
@@ -415,7 +431,7 @@ module Aws::PaymentCryptographyData
|
|
415
431
|
GeneratePinDataInput.add_member(:encryption_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "EncryptionKeyIdentifier"))
|
416
432
|
GeneratePinDataInput.add_member(:generation_attributes, Shapes::ShapeRef.new(shape: PinGenerationAttributes, required: true, location_name: "GenerationAttributes"))
|
417
433
|
GeneratePinDataInput.add_member(:pin_data_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And12, location_name: "PinDataLength"))
|
418
|
-
GeneratePinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType,
|
434
|
+
GeneratePinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, location_name: "PrimaryAccountNumber"))
|
419
435
|
GeneratePinDataInput.add_member(:pin_block_format, Shapes::ShapeRef.new(shape: PinBlockFormatForPinData, required: true, location_name: "PinBlockFormat"))
|
420
436
|
GeneratePinDataInput.add_member(:encryption_wrapped_key, Shapes::ShapeRef.new(shape: WrappedKey, location_name: "EncryptionWrappedKey"))
|
421
437
|
GeneratePinDataInput.struct_class = Types::GeneratePinDataInput
|
@@ -456,6 +472,22 @@ module Aws::PaymentCryptographyData
|
|
456
472
|
Ibm3624RandomPin.add_member(:pin_validation_data, Shapes::ShapeRef.new(shape: PinValidationDataType, required: true, location_name: "PinValidationData"))
|
457
473
|
Ibm3624RandomPin.struct_class = Types::Ibm3624RandomPin
|
458
474
|
|
475
|
+
IncomingDiffieHellmanTr31KeyBlock.add_member(:private_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "PrivateKeyIdentifier"))
|
476
|
+
IncomingDiffieHellmanTr31KeyBlock.add_member(:certificate_authority_public_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "CertificateAuthorityPublicKeyIdentifier"))
|
477
|
+
IncomingDiffieHellmanTr31KeyBlock.add_member(:public_key_certificate, Shapes::ShapeRef.new(shape: CertificateType, required: true, location_name: "PublicKeyCertificate"))
|
478
|
+
IncomingDiffieHellmanTr31KeyBlock.add_member(:derive_key_algorithm, Shapes::ShapeRef.new(shape: SymmetricKeyAlgorithm, required: true, location_name: "DeriveKeyAlgorithm"))
|
479
|
+
IncomingDiffieHellmanTr31KeyBlock.add_member(:key_derivation_function, Shapes::ShapeRef.new(shape: KeyDerivationFunction, required: true, location_name: "KeyDerivationFunction"))
|
480
|
+
IncomingDiffieHellmanTr31KeyBlock.add_member(:key_derivation_hash_algorithm, Shapes::ShapeRef.new(shape: KeyDerivationHashAlgorithm, required: true, location_name: "KeyDerivationHashAlgorithm"))
|
481
|
+
IncomingDiffieHellmanTr31KeyBlock.add_member(:derivation_data, Shapes::ShapeRef.new(shape: DiffieHellmanDerivationData, required: true, location_name: "DerivationData"))
|
482
|
+
IncomingDiffieHellmanTr31KeyBlock.add_member(:wrapped_key_block, Shapes::ShapeRef.new(shape: Tr31WrappedKeyBlock, required: true, location_name: "WrappedKeyBlock"))
|
483
|
+
IncomingDiffieHellmanTr31KeyBlock.struct_class = Types::IncomingDiffieHellmanTr31KeyBlock
|
484
|
+
|
485
|
+
IncomingKeyMaterial.add_member(:diffie_hellman_tr_31_key_block, Shapes::ShapeRef.new(shape: IncomingDiffieHellmanTr31KeyBlock, location_name: "DiffieHellmanTr31KeyBlock"))
|
486
|
+
IncomingKeyMaterial.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
|
487
|
+
IncomingKeyMaterial.add_member_subclass(:diffie_hellman_tr_31_key_block, Types::IncomingKeyMaterial::DiffieHellmanTr31KeyBlock)
|
488
|
+
IncomingKeyMaterial.add_member_subclass(:unknown, Types::IncomingKeyMaterial::Unknown)
|
489
|
+
IncomingKeyMaterial.struct_class = Types::IncomingKeyMaterial
|
490
|
+
|
459
491
|
InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
|
460
492
|
InternalServerException.struct_class = Types::InternalServerException
|
461
493
|
|
@@ -491,6 +523,15 @@ module Aws::PaymentCryptographyData
|
|
491
523
|
MasterCardAttributes.add_member(:application_cryptogram, Shapes::ShapeRef.new(shape: ApplicationCryptogramType, required: true, location_name: "ApplicationCryptogram"))
|
492
524
|
MasterCardAttributes.struct_class = Types::MasterCardAttributes
|
493
525
|
|
526
|
+
OutgoingKeyMaterial.add_member(:tr_31_key_block, Shapes::ShapeRef.new(shape: OutgoingTr31KeyBlock, location_name: "Tr31KeyBlock"))
|
527
|
+
OutgoingKeyMaterial.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
|
528
|
+
OutgoingKeyMaterial.add_member_subclass(:tr_31_key_block, Types::OutgoingKeyMaterial::Tr31KeyBlock)
|
529
|
+
OutgoingKeyMaterial.add_member_subclass(:unknown, Types::OutgoingKeyMaterial::Unknown)
|
530
|
+
OutgoingKeyMaterial.struct_class = Types::OutgoingKeyMaterial
|
531
|
+
|
532
|
+
OutgoingTr31KeyBlock.add_member(:wrapping_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "WrappingKeyIdentifier"))
|
533
|
+
OutgoingTr31KeyBlock.struct_class = Types::OutgoingTr31KeyBlock
|
534
|
+
|
494
535
|
PinData.add_member(:pin_offset, Shapes::ShapeRef.new(shape: PinOffsetType, location_name: "PinOffset"))
|
495
536
|
PinData.add_member(:verification_value, Shapes::ShapeRef.new(shape: VerificationValueType, location_name: "VerificationValue"))
|
496
537
|
PinData.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
|
@@ -602,6 +643,14 @@ module Aws::PaymentCryptographyData
|
|
602
643
|
ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
|
603
644
|
ThrottlingException.struct_class = Types::ThrottlingException
|
604
645
|
|
646
|
+
TranslateKeyMaterialInput.add_member(:incoming_key_material, Shapes::ShapeRef.new(shape: IncomingKeyMaterial, required: true, location_name: "IncomingKeyMaterial"))
|
647
|
+
TranslateKeyMaterialInput.add_member(:outgoing_key_material, Shapes::ShapeRef.new(shape: OutgoingKeyMaterial, required: true, location_name: "OutgoingKeyMaterial"))
|
648
|
+
TranslateKeyMaterialInput.add_member(:key_check_value_algorithm, Shapes::ShapeRef.new(shape: KeyCheckValueAlgorithm, location_name: "KeyCheckValueAlgorithm"))
|
649
|
+
TranslateKeyMaterialInput.struct_class = Types::TranslateKeyMaterialInput
|
650
|
+
|
651
|
+
TranslateKeyMaterialOutput.add_member(:wrapped_key, Shapes::ShapeRef.new(shape: WrappedWorkingKey, required: true, location_name: "WrappedKey"))
|
652
|
+
TranslateKeyMaterialOutput.struct_class = Types::TranslateKeyMaterialOutput
|
653
|
+
|
605
654
|
TranslatePinDataInput.add_member(:incoming_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "IncomingKeyIdentifier"))
|
606
655
|
TranslatePinDataInput.add_member(:outgoing_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "OutgoingKeyIdentifier"))
|
607
656
|
TranslatePinDataInput.add_member(:incoming_translation_attributes, Shapes::ShapeRef.new(shape: TranslationIsoFormats, required: true, location_name: "IncomingTranslationAttributes"))
|
@@ -687,7 +736,7 @@ module Aws::PaymentCryptographyData
|
|
687
736
|
VerifyPinDataInput.add_member(:encryption_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "EncryptionKeyIdentifier"))
|
688
737
|
VerifyPinDataInput.add_member(:verification_attributes, Shapes::ShapeRef.new(shape: PinVerificationAttributes, required: true, location_name: "VerificationAttributes"))
|
689
738
|
VerifyPinDataInput.add_member(:encrypted_pin_block, Shapes::ShapeRef.new(shape: EncryptedPinBlockType, required: true, location_name: "EncryptedPinBlock"))
|
690
|
-
VerifyPinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType,
|
739
|
+
VerifyPinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, location_name: "PrimaryAccountNumber"))
|
691
740
|
VerifyPinDataInput.add_member(:pin_block_format, Shapes::ShapeRef.new(shape: PinBlockFormatForPinData, required: true, location_name: "PinBlockFormat"))
|
692
741
|
VerifyPinDataInput.add_member(:pin_data_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And12, location_name: "PinDataLength"))
|
693
742
|
VerifyPinDataInput.add_member(:dukpt_attributes, Shapes::ShapeRef.new(shape: DukptAttributes, location_name: "DukptAttributes"))
|
@@ -737,6 +786,11 @@ module Aws::PaymentCryptographyData
|
|
737
786
|
WrappedKeyMaterial.add_member_subclass(:unknown, Types::WrappedKeyMaterial::Unknown)
|
738
787
|
WrappedKeyMaterial.struct_class = Types::WrappedKeyMaterial
|
739
788
|
|
789
|
+
WrappedWorkingKey.add_member(:wrapped_key_material, Shapes::ShapeRef.new(shape: KeyMaterial, required: true, location_name: "WrappedKeyMaterial"))
|
790
|
+
WrappedWorkingKey.add_member(:key_check_value, Shapes::ShapeRef.new(shape: KeyCheckValue, required: true, location_name: "KeyCheckValue"))
|
791
|
+
WrappedWorkingKey.add_member(:wrapped_key_material_format, Shapes::ShapeRef.new(shape: WrappedKeyMaterialFormat, required: true, location_name: "WrappedKeyMaterialFormat"))
|
792
|
+
WrappedWorkingKey.struct_class = Types::WrappedWorkingKey
|
793
|
+
|
740
794
|
|
741
795
|
# @api private
|
742
796
|
API = Seahorse::Model::Api.new.tap do |api|
|
@@ -847,6 +901,19 @@ module Aws::PaymentCryptographyData
|
|
847
901
|
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
848
902
|
end)
|
849
903
|
|
904
|
+
api.add_operation(:translate_key_material, Seahorse::Model::Operation.new.tap do |o|
|
905
|
+
o.name = "TranslateKeyMaterial"
|
906
|
+
o.http_method = "POST"
|
907
|
+
o.http_request_uri = "/keymaterial/translate"
|
908
|
+
o.input = Shapes::ShapeRef.new(shape: TranslateKeyMaterialInput)
|
909
|
+
o.output = Shapes::ShapeRef.new(shape: TranslateKeyMaterialOutput)
|
910
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
911
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
912
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
913
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
914
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
915
|
+
end)
|
916
|
+
|
850
917
|
api.add_operation(:translate_pin_data, Seahorse::Model::Operation.new.tap do |o|
|
851
918
|
o.name = "TranslatePinData"
|
852
919
|
o.http_method = "POST"
|
@@ -522,6 +522,35 @@ module Aws::PaymentCryptographyData
|
|
522
522
|
class Unknown < DerivationMethodAttributes; end
|
523
523
|
end
|
524
524
|
|
525
|
+
# The shared information used when deriving a key using ECDH.
|
526
|
+
#
|
527
|
+
# @note DiffieHellmanDerivationData is a union - when making an API calls you must set exactly one of the members.
|
528
|
+
#
|
529
|
+
# @!attribute [rw] shared_information
|
530
|
+
# A string containing information that binds the ECDH derived key to
|
531
|
+
# the two parties involved or to the context of the key.
|
532
|
+
#
|
533
|
+
# It may include details like identities of the two parties deriving
|
534
|
+
# the key, context of the operation, session IDs, and optionally a
|
535
|
+
# nonce. It must not contain zero bytes. It is not recommended to
|
536
|
+
# reuse shared information for multiple ECDH key derivations, as it
|
537
|
+
# could result in derived key material being the same across different
|
538
|
+
# derivations.
|
539
|
+
# @return [String]
|
540
|
+
#
|
541
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DiffieHellmanDerivationData AWS API Documentation
|
542
|
+
#
|
543
|
+
class DiffieHellmanDerivationData < Struct.new(
|
544
|
+
:shared_information,
|
545
|
+
:unknown)
|
546
|
+
SENSITIVE = []
|
547
|
+
include Aws::Structure
|
548
|
+
include Aws::Structure::Union
|
549
|
+
|
550
|
+
class SharedInformation < DiffieHellmanDerivationData; end
|
551
|
+
class Unknown < DiffieHellmanDerivationData; end
|
552
|
+
end
|
553
|
+
|
525
554
|
# Parameters that are required to generate or verify dCVC (Dynamic Card
|
526
555
|
# Verification Code).
|
527
556
|
#
|
@@ -757,7 +786,7 @@ module Aws::PaymentCryptographyData
|
|
757
786
|
:key_derivation_function,
|
758
787
|
:key_derivation_hash_algorithm,
|
759
788
|
:shared_information)
|
760
|
-
SENSITIVE = [
|
789
|
+
SENSITIVE = []
|
761
790
|
include Aws::Structure
|
762
791
|
end
|
763
792
|
|
@@ -1269,7 +1298,7 @@ module Aws::PaymentCryptographyData
|
|
1269
1298
|
# @!attribute [rw] pin_block_format
|
1270
1299
|
# The PIN encoding format for pin data generation as specified in ISO
|
1271
1300
|
# 9564. Amazon Web Services Payment Cryptography supports
|
1272
|
-
# `ISO_Format_0` and `
|
1301
|
+
# `ISO_Format_0`, `ISO_Format_3` and `ISO_Format_4`.
|
1273
1302
|
#
|
1274
1303
|
# The `ISO_Format_0` PIN block format is equivalent to the ANSI X9.8,
|
1275
1304
|
# VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN
|
@@ -1277,6 +1306,11 @@ module Aws::PaymentCryptographyData
|
|
1277
1306
|
#
|
1278
1307
|
# The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
|
1279
1308
|
# except that the fill digits are random values from 10 to 15.
|
1309
|
+
#
|
1310
|
+
# The `ISO_Format_4` PIN block format is the only one supporting AES
|
1311
|
+
# encryption. It is similar to `ISO_Format_3` but doubles the pin
|
1312
|
+
# block length by padding with fill digit A and random values from 10
|
1313
|
+
# to 15.
|
1280
1314
|
# @return [String]
|
1281
1315
|
#
|
1282
1316
|
# @!attribute [rw] encryption_wrapped_key
|
@@ -1504,6 +1538,82 @@ module Aws::PaymentCryptographyData
|
|
1504
1538
|
include Aws::Structure
|
1505
1539
|
end
|
1506
1540
|
|
1541
|
+
# Parameter information of a TR31KeyBlock wrapped using an ECDH derived
|
1542
|
+
# key.
|
1543
|
+
#
|
1544
|
+
# @!attribute [rw] private_key_identifier
|
1545
|
+
# The `keyARN` of the asymmetric ECC key pair.
|
1546
|
+
# @return [String]
|
1547
|
+
#
|
1548
|
+
# @!attribute [rw] certificate_authority_public_key_identifier
|
1549
|
+
# The `keyArn` of the certificate that signed the client's
|
1550
|
+
# `PublicKeyCertificate`.
|
1551
|
+
# @return [String]
|
1552
|
+
#
|
1553
|
+
# @!attribute [rw] public_key_certificate
|
1554
|
+
# The client's public key certificate in PEM format (base64 encoded)
|
1555
|
+
# to use for ECDH key derivation.
|
1556
|
+
# @return [String]
|
1557
|
+
#
|
1558
|
+
# @!attribute [rw] derive_key_algorithm
|
1559
|
+
# The key algorithm of the derived ECDH key.
|
1560
|
+
# @return [String]
|
1561
|
+
#
|
1562
|
+
# @!attribute [rw] key_derivation_function
|
1563
|
+
# The key derivation function to use for deriving a key using ECDH.
|
1564
|
+
# @return [String]
|
1565
|
+
#
|
1566
|
+
# @!attribute [rw] key_derivation_hash_algorithm
|
1567
|
+
# The hash type to use for deriving a key using ECDH.
|
1568
|
+
# @return [String]
|
1569
|
+
#
|
1570
|
+
# @!attribute [rw] derivation_data
|
1571
|
+
# The shared information used when deriving a key using ECDH.
|
1572
|
+
# @return [Types::DiffieHellmanDerivationData]
|
1573
|
+
#
|
1574
|
+
# @!attribute [rw] wrapped_key_block
|
1575
|
+
# The WrappedKeyBlock containing the transaction key wrapped using an
|
1576
|
+
# ECDH dervied key.
|
1577
|
+
# @return [String]
|
1578
|
+
#
|
1579
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/IncomingDiffieHellmanTr31KeyBlock AWS API Documentation
|
1580
|
+
#
|
1581
|
+
class IncomingDiffieHellmanTr31KeyBlock < Struct.new(
|
1582
|
+
:private_key_identifier,
|
1583
|
+
:certificate_authority_public_key_identifier,
|
1584
|
+
:public_key_certificate,
|
1585
|
+
:derive_key_algorithm,
|
1586
|
+
:key_derivation_function,
|
1587
|
+
:key_derivation_hash_algorithm,
|
1588
|
+
:derivation_data,
|
1589
|
+
:wrapped_key_block)
|
1590
|
+
SENSITIVE = [:wrapped_key_block]
|
1591
|
+
include Aws::Structure
|
1592
|
+
end
|
1593
|
+
|
1594
|
+
# Parameter information of the incoming WrappedKeyBlock containing the
|
1595
|
+
# transaction key.
|
1596
|
+
#
|
1597
|
+
# @note IncomingKeyMaterial is a union - when making an API calls you must set exactly one of the members.
|
1598
|
+
#
|
1599
|
+
# @!attribute [rw] diffie_hellman_tr_31_key_block
|
1600
|
+
# Parameter information of the TR31WrappedKeyBlock containing the
|
1601
|
+
# transaction key wrapped using an ECDH dervied key.
|
1602
|
+
# @return [Types::IncomingDiffieHellmanTr31KeyBlock]
|
1603
|
+
#
|
1604
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/IncomingKeyMaterial AWS API Documentation
|
1605
|
+
#
|
1606
|
+
class IncomingKeyMaterial < Struct.new(
|
1607
|
+
:diffie_hellman_tr_31_key_block,
|
1608
|
+
:unknown)
|
1609
|
+
SENSITIVE = []
|
1610
|
+
include Aws::Structure
|
1611
|
+
include Aws::Structure::Union
|
1612
|
+
|
1613
|
+
class DiffieHellmanTr31KeyBlock < IncomingKeyMaterial; end
|
1614
|
+
class Unknown < IncomingKeyMaterial; end
|
1615
|
+
end
|
1616
|
+
|
1507
1617
|
# The request processing has failed because of an unknown error,
|
1508
1618
|
# exception, or failure.
|
1509
1619
|
#
|
@@ -1672,6 +1782,44 @@ module Aws::PaymentCryptographyData
|
|
1672
1782
|
include Aws::Structure
|
1673
1783
|
end
|
1674
1784
|
|
1785
|
+
# Parameter information of the outgoing TR31WrappedKeyBlock containing
|
1786
|
+
# the transaction key.
|
1787
|
+
#
|
1788
|
+
# @note OutgoingKeyMaterial is a union - when making an API calls you must set exactly one of the members.
|
1789
|
+
#
|
1790
|
+
# @!attribute [rw] tr_31_key_block
|
1791
|
+
# Parameter information of the TR31WrappedKeyBlock containing the
|
1792
|
+
# transaction key wrapped using a KEK.
|
1793
|
+
# @return [Types::OutgoingTr31KeyBlock]
|
1794
|
+
#
|
1795
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/OutgoingKeyMaterial AWS API Documentation
|
1796
|
+
#
|
1797
|
+
class OutgoingKeyMaterial < Struct.new(
|
1798
|
+
:tr_31_key_block,
|
1799
|
+
:unknown)
|
1800
|
+
SENSITIVE = []
|
1801
|
+
include Aws::Structure
|
1802
|
+
include Aws::Structure::Union
|
1803
|
+
|
1804
|
+
class Tr31KeyBlock < OutgoingKeyMaterial; end
|
1805
|
+
class Unknown < OutgoingKeyMaterial; end
|
1806
|
+
end
|
1807
|
+
|
1808
|
+
# Parameter information of the TR31WrappedKeyBlock containing the
|
1809
|
+
# transaction key wrapped using a KEK.
|
1810
|
+
#
|
1811
|
+
# @!attribute [rw] wrapping_key_identifier
|
1812
|
+
# The `keyARN` of the KEK used to wrap the transaction key.
|
1813
|
+
# @return [String]
|
1814
|
+
#
|
1815
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/OutgoingTr31KeyBlock AWS API Documentation
|
1816
|
+
#
|
1817
|
+
class OutgoingTr31KeyBlock < Struct.new(
|
1818
|
+
:wrapping_key_identifier)
|
1819
|
+
SENSITIVE = []
|
1820
|
+
include Aws::Structure
|
1821
|
+
end
|
1822
|
+
|
1675
1823
|
# Parameters that are required to generate, translate, or verify PIN
|
1676
1824
|
# data.
|
1677
1825
|
#
|
@@ -2161,6 +2309,42 @@ module Aws::PaymentCryptographyData
|
|
2161
2309
|
include Aws::Structure
|
2162
2310
|
end
|
2163
2311
|
|
2312
|
+
# @!attribute [rw] incoming_key_material
|
2313
|
+
# Parameter information of the TR31WrappedKeyBlock containing the
|
2314
|
+
# transaction key.
|
2315
|
+
# @return [Types::IncomingKeyMaterial]
|
2316
|
+
#
|
2317
|
+
# @!attribute [rw] outgoing_key_material
|
2318
|
+
# Parameter information of the wrapping key used to wrap the
|
2319
|
+
# transaction key in the outgoing TR31WrappedKeyBlock.
|
2320
|
+
# @return [Types::OutgoingKeyMaterial]
|
2321
|
+
#
|
2322
|
+
# @!attribute [rw] key_check_value_algorithm
|
2323
|
+
# The key check value (KCV) algorithm used for calculating the KCV.
|
2324
|
+
# @return [String]
|
2325
|
+
#
|
2326
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslateKeyMaterialInput AWS API Documentation
|
2327
|
+
#
|
2328
|
+
class TranslateKeyMaterialInput < Struct.new(
|
2329
|
+
:incoming_key_material,
|
2330
|
+
:outgoing_key_material,
|
2331
|
+
:key_check_value_algorithm)
|
2332
|
+
SENSITIVE = []
|
2333
|
+
include Aws::Structure
|
2334
|
+
end
|
2335
|
+
|
2336
|
+
# @!attribute [rw] wrapped_key
|
2337
|
+
# The outgoing KEK wrapped TR31WrappedKeyBlock.
|
2338
|
+
# @return [Types::WrappedWorkingKey]
|
2339
|
+
#
|
2340
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslateKeyMaterialOutput AWS API Documentation
|
2341
|
+
#
|
2342
|
+
class TranslateKeyMaterialOutput < Struct.new(
|
2343
|
+
:wrapped_key)
|
2344
|
+
SENSITIVE = []
|
2345
|
+
include Aws::Structure
|
2346
|
+
end
|
2347
|
+
|
2164
2348
|
# @!attribute [rw] incoming_key_identifier
|
2165
2349
|
# The `keyARN` of the encryption key under which incoming PIN block
|
2166
2350
|
# data is encrypted. This key type can be PEK or BDK.
|
@@ -2863,6 +3047,40 @@ module Aws::PaymentCryptographyData
|
|
2863
3047
|
class Unknown < WrappedKeyMaterial; end
|
2864
3048
|
end
|
2865
3049
|
|
3050
|
+
# The parameter information of the outgoing wrapped key block.
|
3051
|
+
#
|
3052
|
+
# @!attribute [rw] wrapped_key_material
|
3053
|
+
# The wrapped key block of the outgoing transaction key.
|
3054
|
+
# @return [String]
|
3055
|
+
#
|
3056
|
+
# @!attribute [rw] key_check_value
|
3057
|
+
# The key check value (KCV) of the key contained within the outgoing
|
3058
|
+
# TR31WrappedKeyBlock.
|
3059
|
+
#
|
3060
|
+
# The KCV is used to check if all parties holding a given key have the
|
3061
|
+
# same key or to detect that a key has changed. For more information
|
3062
|
+
# on KCV, see [KCV][1] in the *Amazon Web Services Payment
|
3063
|
+
# Cryptography User Guide*.
|
3064
|
+
#
|
3065
|
+
#
|
3066
|
+
#
|
3067
|
+
# [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.kcv
|
3068
|
+
# @return [String]
|
3069
|
+
#
|
3070
|
+
# @!attribute [rw] wrapped_key_material_format
|
3071
|
+
# The key block format of the wrapped key.
|
3072
|
+
# @return [String]
|
3073
|
+
#
|
3074
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/WrappedWorkingKey AWS API Documentation
|
3075
|
+
#
|
3076
|
+
class WrappedWorkingKey < Struct.new(
|
3077
|
+
:wrapped_key_material,
|
3078
|
+
:key_check_value,
|
3079
|
+
:wrapped_key_material_format)
|
3080
|
+
SENSITIVE = [:wrapped_key_material]
|
3081
|
+
include Aws::Structure
|
3082
|
+
end
|
3083
|
+
|
2866
3084
|
end
|
2867
3085
|
end
|
2868
3086
|
|
data/sig/client.rbs
CHANGED
@@ -384,8 +384,8 @@ module Aws
|
|
384
384
|
}?
|
385
385
|
},
|
386
386
|
?pin_data_length: ::Integer,
|
387
|
-
primary_account_number: ::String,
|
388
|
-
pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
|
387
|
+
?primary_account_number: ::String,
|
388
|
+
pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_1" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
|
389
389
|
?encryption_wrapped_key: {
|
390
390
|
wrapped_key_material: {
|
391
391
|
tr_31_key_block: ::String?,
|
@@ -473,6 +473,35 @@ module Aws
|
|
473
473
|
) -> _ReEncryptDataResponseSuccess
|
474
474
|
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ReEncryptDataResponseSuccess
|
475
475
|
|
476
|
+
interface _TranslateKeyMaterialResponseSuccess
|
477
|
+
include ::Seahorse::Client::_ResponseSuccess[Types::TranslateKeyMaterialOutput]
|
478
|
+
def wrapped_key: () -> Types::WrappedWorkingKey
|
479
|
+
end
|
480
|
+
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PaymentCryptographyData/Client.html#translate_key_material-instance_method
|
481
|
+
def translate_key_material: (
|
482
|
+
incoming_key_material: {
|
483
|
+
diffie_hellman_tr_31_key_block: {
|
484
|
+
private_key_identifier: ::String,
|
485
|
+
certificate_authority_public_key_identifier: ::String,
|
486
|
+
public_key_certificate: ::String,
|
487
|
+
derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224"),
|
488
|
+
key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
|
489
|
+
key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
|
490
|
+
derivation_data: {
|
491
|
+
shared_information: ::String?
|
492
|
+
},
|
493
|
+
wrapped_key_block: ::String
|
494
|
+
}?
|
495
|
+
},
|
496
|
+
outgoing_key_material: {
|
497
|
+
tr_31_key_block: {
|
498
|
+
wrapping_key_identifier: ::String
|
499
|
+
}?
|
500
|
+
},
|
501
|
+
?key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC" | "SHA_1")
|
502
|
+
) -> _TranslateKeyMaterialResponseSuccess
|
503
|
+
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _TranslateKeyMaterialResponseSuccess
|
504
|
+
|
476
505
|
interface _TranslatePinDataResponseSuccess
|
477
506
|
include ::Seahorse::Client::_ResponseSuccess[Types::TranslatePinDataOutput]
|
478
507
|
def pin_block: () -> ::String
|
@@ -718,8 +747,8 @@ module Aws
|
|
718
747
|
}?
|
719
748
|
},
|
720
749
|
encrypted_pin_block: ::String,
|
721
|
-
primary_account_number: ::String,
|
722
|
-
pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
|
750
|
+
?primary_account_number: ::String,
|
751
|
+
pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_1" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
|
723
752
|
?pin_data_length: ::Integer,
|
724
753
|
?dukpt_attributes: {
|
725
754
|
key_serial_number: ::String,
|
data/sig/types.rbs
CHANGED
@@ -187,6 +187,17 @@ module Aws::PaymentCryptographyData
|
|
187
187
|
end
|
188
188
|
end
|
189
189
|
|
190
|
+
class DiffieHellmanDerivationData
|
191
|
+
attr_accessor shared_information: ::String
|
192
|
+
attr_accessor unknown: untyped
|
193
|
+
SENSITIVE: []
|
194
|
+
|
195
|
+
class SharedInformation < DiffieHellmanDerivationData
|
196
|
+
end
|
197
|
+
class Unknown < DiffieHellmanDerivationData
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
190
201
|
class DiscoverDynamicCardVerificationCode
|
191
202
|
attr_accessor card_expiry_date: ::String
|
192
203
|
attr_accessor unpredictable_number: ::String
|
@@ -239,7 +250,7 @@ module Aws::PaymentCryptographyData
|
|
239
250
|
attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
|
240
251
|
attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
|
241
252
|
attr_accessor shared_information: ::String
|
242
|
-
SENSITIVE: [
|
253
|
+
SENSITIVE: []
|
243
254
|
end
|
244
255
|
|
245
256
|
class Emv2000Attributes
|
@@ -366,7 +377,7 @@ module Aws::PaymentCryptographyData
|
|
366
377
|
attr_accessor generation_attributes: Types::PinGenerationAttributes
|
367
378
|
attr_accessor pin_data_length: ::Integer
|
368
379
|
attr_accessor primary_account_number: ::String
|
369
|
-
attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
|
380
|
+
attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_1" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
|
370
381
|
attr_accessor encryption_wrapped_key: Types::WrappedKey
|
371
382
|
SENSITIVE: [:primary_account_number]
|
372
383
|
end
|
@@ -419,6 +430,29 @@ module Aws::PaymentCryptographyData
|
|
419
430
|
SENSITIVE: [:decimalization_table, :pin_validation_data]
|
420
431
|
end
|
421
432
|
|
433
|
+
class IncomingDiffieHellmanTr31KeyBlock
|
434
|
+
attr_accessor private_key_identifier: ::String
|
435
|
+
attr_accessor certificate_authority_public_key_identifier: ::String
|
436
|
+
attr_accessor public_key_certificate: ::String
|
437
|
+
attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224")
|
438
|
+
attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
|
439
|
+
attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
|
440
|
+
attr_accessor derivation_data: Types::DiffieHellmanDerivationData
|
441
|
+
attr_accessor wrapped_key_block: ::String
|
442
|
+
SENSITIVE: [:wrapped_key_block]
|
443
|
+
end
|
444
|
+
|
445
|
+
class IncomingKeyMaterial
|
446
|
+
attr_accessor diffie_hellman_tr_31_key_block: Types::IncomingDiffieHellmanTr31KeyBlock
|
447
|
+
attr_accessor unknown: untyped
|
448
|
+
SENSITIVE: []
|
449
|
+
|
450
|
+
class DiffieHellmanTr31KeyBlock < IncomingKeyMaterial
|
451
|
+
end
|
452
|
+
class Unknown < IncomingKeyMaterial
|
453
|
+
end
|
454
|
+
end
|
455
|
+
|
422
456
|
class InternalServerException
|
423
457
|
attr_accessor message: ::String
|
424
458
|
SENSITIVE: []
|
@@ -471,6 +505,22 @@ module Aws::PaymentCryptographyData
|
|
471
505
|
SENSITIVE: [:primary_account_number, :application_cryptogram]
|
472
506
|
end
|
473
507
|
|
508
|
+
class OutgoingKeyMaterial
|
509
|
+
attr_accessor tr_31_key_block: Types::OutgoingTr31KeyBlock
|
510
|
+
attr_accessor unknown: untyped
|
511
|
+
SENSITIVE: []
|
512
|
+
|
513
|
+
class Tr31KeyBlock < OutgoingKeyMaterial
|
514
|
+
end
|
515
|
+
class Unknown < OutgoingKeyMaterial
|
516
|
+
end
|
517
|
+
end
|
518
|
+
|
519
|
+
class OutgoingTr31KeyBlock
|
520
|
+
attr_accessor wrapping_key_identifier: ::String
|
521
|
+
SENSITIVE: []
|
522
|
+
end
|
523
|
+
|
474
524
|
class PinData
|
475
525
|
attr_accessor pin_offset: ::String
|
476
526
|
attr_accessor verification_value: ::String
|
@@ -645,6 +695,18 @@ module Aws::PaymentCryptographyData
|
|
645
695
|
SENSITIVE: []
|
646
696
|
end
|
647
697
|
|
698
|
+
class TranslateKeyMaterialInput
|
699
|
+
attr_accessor incoming_key_material: Types::IncomingKeyMaterial
|
700
|
+
attr_accessor outgoing_key_material: Types::OutgoingKeyMaterial
|
701
|
+
attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC" | "SHA_1")
|
702
|
+
SENSITIVE: []
|
703
|
+
end
|
704
|
+
|
705
|
+
class TranslateKeyMaterialOutput
|
706
|
+
attr_accessor wrapped_key: Types::WrappedWorkingKey
|
707
|
+
SENSITIVE: []
|
708
|
+
end
|
709
|
+
|
648
710
|
class TranslatePinDataInput
|
649
711
|
attr_accessor incoming_key_identifier: ::String
|
650
712
|
attr_accessor outgoing_key_identifier: ::String
|
@@ -763,7 +825,7 @@ module Aws::PaymentCryptographyData
|
|
763
825
|
attr_accessor verification_attributes: Types::PinVerificationAttributes
|
764
826
|
attr_accessor encrypted_pin_block: ::String
|
765
827
|
attr_accessor primary_account_number: ::String
|
766
|
-
attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
|
828
|
+
attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_1" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
|
767
829
|
attr_accessor pin_data_length: ::Integer
|
768
830
|
attr_accessor dukpt_attributes: Types::DukptAttributes
|
769
831
|
attr_accessor encryption_wrapped_key: Types::WrappedKey
|
@@ -832,5 +894,12 @@ module Aws::PaymentCryptographyData
|
|
832
894
|
class Unknown < WrappedKeyMaterial
|
833
895
|
end
|
834
896
|
end
|
897
|
+
|
898
|
+
class WrappedWorkingKey
|
899
|
+
attr_accessor wrapped_key_material: ::String
|
900
|
+
attr_accessor key_check_value: ::String
|
901
|
+
attr_accessor wrapped_key_material_format: ("KEY_CRYPTOGRAM" | "TR31_KEY_BLOCK" | "TR34_KEY_BLOCK")
|
902
|
+
SENSITIVE: [:wrapped_key_material]
|
903
|
+
end
|
835
904
|
end
|
836
905
|
end
|