aws-sdk-paymentcryptographydata 1.44.0 → 1.45.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dc2a9302664ebd8bac6d64464cc4b3a53354ca2eb21a379eb826c79804c140a
4
- data.tar.gz: cbdef2762e85beeb0a81edebfbd35ed372a35c0e32381b31a7946cc3b0c30a4d
3
+ metadata.gz: ff21887001aaf2cf33492d3c77b72cce29a87296e58f53812666004266b0a6bd
4
+ data.tar.gz: ba425d1d3bef675edc20735245d79c6805cbb0c1bab754eba91f61267cb88415
5
5
  SHA512:
6
- metadata.gz: cc37d990731d94075edef0757a3fecabace449db1d5051d8add550651e9b7593545d45f9d1269ddbbf3276e0e57007490c8fe36a10c26f622feb864e3b187610
7
- data.tar.gz: 716a09139585ed42ef26ffc6e2ebd823f13633fe1edce855d686fcf45459919ec2386b9d7a2b99d55a51a90f4f708e5506f1ad545690cd1e6c822ffa9650f7c7
6
+ metadata.gz: fedee9f38efd8ee58c30eaad7b18ab227a6740c730144f5e83794757713b0aa65effeb75f3974cba466d8b763948deb86ac584a5a9ff89a6357518a61b9cd9ca
7
+ data.tar.gz: 41248d20e036cfa63af43c3302de50c8b39b729fc702a91321e3ced7d5e78c1657272567a501605802abb0eb150c94ff3938936bbed74316bd89abc08bfe1e58
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.45.0 (2025-12-17)
5
+ ------------------
6
+
7
+ * Feature - Support for AS2805 standard. New API GenerateAs2805KekValidation and changes to translate pin, GenerateMac and VerifyMac to support AS2805 key variants.
8
+
4
9
  1.44.0 (2025-11-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.44.0
1
+ 1.45.0
@@ -791,6 +791,92 @@ module Aws::PaymentCryptographyData
791
791
  req.send_request(options)
792
792
  end
793
793
 
794
+ # Establishes node-to-node initialization between payment processing
795
+ # nodes such as an acquirer, issuer or payment network using Australian
796
+ # Standard 2805 (AS2805).
797
+ #
798
+ # During node-to-node initialization, both communicating nodes must
799
+ # validate that they possess the correct Key Encrypting Keys (KEKs)
800
+ # before proceeding with session key exchange. In AS2805, the sending
801
+ # KEK (KEKs) of one node corresponds to the receiving KEK (KEKr) of its
802
+ # partner node. Each node uses its KEK to encrypt and decrypt session
803
+ # keys exchanged between the nodes. A KEK can be created or imported
804
+ # into Amazon Web Services Payment Cryptography using either the
805
+ # [CreateKey][1] or [ImportKey][2] operations.
806
+ #
807
+ # The node initiating communication can use
808
+ # `GenerateAS2805KekValidation` to generate a combined KEK validation
809
+ # request and KEK validation response to send to the partnering node for
810
+ # validation. When invoked, the API internally generates a random
811
+ # sending key encrypted under KEKs and provides a receiving key
812
+ # encrypted under KEKr as response. The initiating node sends the
813
+ # response returned by this API to its partner for validation.
814
+ #
815
+ # For information about valid keys for this operation, see
816
+ # [Understanding key attributes][3] and [Key types for specific data
817
+ # operations][4] in the *Amazon Web Services Payment Cryptography User
818
+ # Guide*.
819
+ #
820
+ # **Cross-account use**: This operation can't be used across different
821
+ # Amazon Web Services accounts.
822
+ #
823
+ #
824
+ #
825
+ # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
826
+ # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
827
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
828
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
829
+ #
830
+ # @option params [required, String] :key_identifier
831
+ # The `keyARN` of sending KEK that Amazon Web Services Payment
832
+ # Cryptography uses for node-to-node initialization
833
+ #
834
+ # @option params [required, Types::As2805KekValidationType] :kek_validation_type
835
+ # Parameter information for generating a random key for KEK validation
836
+ # to perform node-to-node initialization.
837
+ #
838
+ # @option params [required, String] :random_key_send_variant_mask
839
+ # The key variant to use for generating a random key for KEK validation
840
+ # during node-to-node initialization.
841
+ #
842
+ # @return [Types::GenerateAs2805KekValidationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
843
+ #
844
+ # * {Types::GenerateAs2805KekValidationOutput#key_arn #key_arn} => String
845
+ # * {Types::GenerateAs2805KekValidationOutput#key_check_value #key_check_value} => String
846
+ # * {Types::GenerateAs2805KekValidationOutput#random_key_send #random_key_send} => String
847
+ # * {Types::GenerateAs2805KekValidationOutput#random_key_receive #random_key_receive} => String
848
+ #
849
+ # @example Request syntax with placeholder values
850
+ #
851
+ # resp = client.generate_as_2805_kek_validation({
852
+ # key_identifier: "KeyArnOrKeyAliasType", # required
853
+ # kek_validation_type: { # required
854
+ # kek_validation_request: {
855
+ # 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
856
+ # },
857
+ # kek_validation_response: {
858
+ # random_key_send: "As2805RandomKeyMaterial", # required
859
+ # },
860
+ # },
861
+ # random_key_send_variant_mask: "VARIANT_MASK_82C0", # required, accepts VARIANT_MASK_82C0, VARIANT_MASK_82
862
+ # })
863
+ #
864
+ # @example Response structure
865
+ #
866
+ # resp.key_arn #=> String
867
+ # resp.key_check_value #=> String
868
+ # resp.random_key_send #=> String
869
+ # resp.random_key_receive #=> String
870
+ #
871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateAs2805KekValidation AWS API Documentation
872
+ #
873
+ # @overload generate_as_2805_kek_validation(params = {})
874
+ # @param [Hash] params ({})
875
+ def generate_as_2805_kek_validation(params = {}, options = {})
876
+ req = build_request(:generate_as_2805_kek_validation, params)
877
+ req.send_request(options)
878
+ end
879
+
794
880
  # Generates card-related validation data using algorithms such as Card
795
881
  # Verification Values (CVV/CVV2), Dynamic Card Verification Values
796
882
  # (dCVV/dCVV2), or Card Security Codes (CSC). For more information, see
@@ -922,7 +1008,7 @@ module Aws::PaymentCryptographyData
922
1008
  # by setting generation attributes and algorithm to the associated
923
1009
  # values. The MAC generation encryption key must have valid values for
924
1010
  # `KeyUsage` such as `TR31_M7_HMAC_KEY` for HMAC generation, and the key
925
- # must have `KeyModesOfUse` set to `Generate` and `Verify`.
1011
+ # must have `KeyModesOfUse` set to `Generate`.
926
1012
  #
927
1013
  # For information about valid keys for this operation, see
928
1014
  # [Understanding key attributes][1] and [Key types for specific data
@@ -969,7 +1055,7 @@ module Aws::PaymentCryptographyData
969
1055
  # key_identifier: "KeyArnOrKeyAliasType", # required
970
1056
  # message_data: "MessageDataType", # required
971
1057
  # generation_attributes: { # required
972
- # algorithm: "ISO9797_ALGORITHM1", # accepts ISO9797_ALGORITHM1, ISO9797_ALGORITHM3, CMAC, HMAC, HMAC_SHA224, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512
1058
+ # algorithm: "ISO9797_ALGORITHM1", # accepts ISO9797_ALGORITHM1, ISO9797_ALGORITHM3, CMAC, HMAC, HMAC_SHA224, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, AS2805_4_1
973
1059
  # emv_mac: {
974
1060
  # major_key_derivation_mode: "EMV_OPTION_A", # required, accepts EMV_OPTION_A, EMV_OPTION_B
975
1061
  # primary_account_number: "PrimaryAccountNumberType", # required
@@ -1259,8 +1345,7 @@ module Aws::PaymentCryptographyData
1259
1345
  # except that the fill digits are random values from 10 to 15.
1260
1346
  #
1261
1347
  # 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.
1348
+ # encryption.
1264
1349
  #
1265
1350
  # @option params [Types::WrappedKey] :encryption_wrapped_key
1266
1351
  # Parameter information of a WrappedKeyBlock for encryption key
@@ -1517,16 +1602,16 @@ module Aws::PaymentCryptographyData
1517
1602
  req.send_request(options)
1518
1603
  end
1519
1604
 
1520
- # Translates an encryption key between different wrapping keys without
1521
- # importing the key into Amazon Web Services Payment Cryptography.
1605
+ # Translates an cryptographic key between different wrapping keys
1606
+ # without importing the key into Amazon Web Services Payment
1607
+ # Cryptography.
1522
1608
  #
1523
1609
  # This operation can be used when key material is frequently rotated,
1524
1610
  # such as during every card transaction, and there is a need to avoid
1525
1611
  # 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.
1612
+ # Cryptography. It translates short-lived transaction keys such as
1613
+ # [PEK][1] generated for each transaction and wrapped with an [ECDH][2]
1614
+ # derived wrapping key to another [KEK][3] wrapping key.
1530
1615
  #
1531
1616
  # Before using this operation, you must first request the public key
1532
1617
  # certificate of the ECC key pair generated within Amazon Web Services
@@ -1536,13 +1621,11 @@ module Aws::PaymentCryptographyData
1536
1621
  # parameters to generate a derived key. The service uses this derived
1537
1622
  # key to unwrap the incoming transaction key received as a
1538
1623
  # 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*.
1624
+ # an outgoing Tr31WrappedKeyBlock.
1542
1625
  #
1543
1626
  # 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
1627
+ # [Understanding key attributes][4] and [Key types for specific data
1628
+ # operations][5] in the *Amazon Web Services Payment Cryptography User
1546
1629
  # Guide*.
1547
1630
  #
1548
1631
  # **Cross-account use**: This operation can't be used across different
@@ -1550,20 +1633,22 @@ module Aws::PaymentCryptographyData
1550
1633
  #
1551
1634
  # **Related operations:**
1552
1635
  #
1553
- # * [CreateKey][4]
1636
+ # * [CreateKey][6]
1554
1637
  #
1555
- # * [GetPublicCertificate][5]
1638
+ # * [GetPublicCertificate][7]
1556
1639
  #
1557
- # * [ImportKey][6]
1640
+ # * [ImportKey][8]
1558
1641
  #
1559
1642
  #
1560
1643
  #
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
1644
+ # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.pek
1645
+ # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.ecdh
1646
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.kek
1647
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1648
+ # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1649
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
1650
+ # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
1651
+ # [8]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
1567
1652
  #
1568
1653
  # @option params [required, Types::IncomingKeyMaterial] :incoming_key_material
1569
1654
  # Parameter information of the TR31WrappedKeyBlock containing the
@@ -1574,7 +1659,8 @@ module Aws::PaymentCryptographyData
1574
1659
  # key in the outgoing TR31WrappedKeyBlock.
1575
1660
  #
1576
1661
  # @option params [String] :key_check_value_algorithm
1577
- # The key check value (KCV) algorithm used for calculating the KCV.
1662
+ # The key check value (KCV) algorithm used for calculating the KCV of
1663
+ # the derived key.
1578
1664
  #
1579
1665
  # @return [Types::TranslateKeyMaterialOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1580
1666
  #
@@ -1731,6 +1817,10 @@ module Aws::PaymentCryptographyData
1731
1817
  # The WrappedKeyBlock containing the encryption key for encrypting
1732
1818
  # outgoing PIN block data.
1733
1819
  #
1820
+ # @option params [Types::As2805PekDerivationAttributes] :incoming_as_2805_attributes
1821
+ # The attributes and values to use for incoming AS2805 encryption key
1822
+ # for PIN block translation.
1823
+ #
1734
1824
  # @return [Types::TranslatePinDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1735
1825
  #
1736
1826
  # * {Types::TranslatePinDataOutput#pin_block #pin_block} => String
@@ -1754,6 +1844,9 @@ module Aws::PaymentCryptographyData
1754
1844
  # iso_format_4: {
1755
1845
  # primary_account_number: "PrimaryAccountNumberType", # required
1756
1846
  # },
1847
+ # as_2805_format_0: {
1848
+ # primary_account_number: "PrimaryAccountNumberType", # required
1849
+ # },
1757
1850
  # },
1758
1851
  # outgoing_translation_attributes: { # required
1759
1852
  # iso_format_0: {
@@ -1767,6 +1860,9 @@ module Aws::PaymentCryptographyData
1767
1860
  # iso_format_4: {
1768
1861
  # primary_account_number: "PrimaryAccountNumberType", # required
1769
1862
  # },
1863
+ # as_2805_format_0: {
1864
+ # primary_account_number: "PrimaryAccountNumberType", # required
1865
+ # },
1770
1866
  # },
1771
1867
  # encrypted_pin_block: "HexEvenLengthBetween16And32", # required
1772
1868
  # incoming_dukpt_attributes: {
@@ -1807,6 +1903,10 @@ module Aws::PaymentCryptographyData
1807
1903
  # },
1808
1904
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC, SHA_1
1809
1905
  # },
1906
+ # incoming_as_2805_attributes: {
1907
+ # system_trace_audit_number: "SystemTraceAuditNumberType", # required
1908
+ # transaction_amount: "TransactionAmountType", # required
1909
+ # },
1810
1910
  # })
1811
1911
  #
1812
1912
  # @example Response structure
@@ -2137,7 +2237,7 @@ module Aws::PaymentCryptographyData
2137
2237
  # message_data: "MessageDataType", # required
2138
2238
  # mac: "MacType", # required
2139
2239
  # verification_attributes: { # required
2140
- # algorithm: "ISO9797_ALGORITHM1", # accepts ISO9797_ALGORITHM1, ISO9797_ALGORITHM3, CMAC, HMAC, HMAC_SHA224, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512
2240
+ # algorithm: "ISO9797_ALGORITHM1", # accepts ISO9797_ALGORITHM1, ISO9797_ALGORITHM3, CMAC, HMAC, HMAC_SHA224, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, AS2805_4_1
2141
2241
  # emv_mac: {
2142
2242
  # major_key_derivation_mode: "EMV_OPTION_A", # required, accepts EMV_OPTION_A, EMV_OPTION_B
2143
2243
  # primary_account_number: "PrimaryAccountNumberType", # required
@@ -2335,7 +2435,7 @@ module Aws::PaymentCryptographyData
2335
2435
  tracer: tracer
2336
2436
  )
2337
2437
  context[:gem_name] = 'aws-sdk-paymentcryptographydata'
2338
- context[:gem_version] = '1.44.0'
2438
+ context[:gem_version] = '1.45.0'
2339
2439
  Seahorse::Client::Request.new(handlers, context)
2340
2440
  end
2341
2441
 
@@ -19,6 +19,9 @@ module Aws::PaymentCryptographyData
19
19
  AmexCardSecurityCodeVersion1 = Shapes::StructureShape.new(name: 'AmexCardSecurityCodeVersion1')
20
20
  AmexCardSecurityCodeVersion2 = Shapes::StructureShape.new(name: 'AmexCardSecurityCodeVersion2')
21
21
  ApplicationCryptogramType = Shapes::StringShape.new(name: 'ApplicationCryptogramType')
22
+ As2805KekValidationType = Shapes::UnionShape.new(name: 'As2805KekValidationType')
23
+ As2805PekDerivationAttributes = Shapes::StructureShape.new(name: 'As2805PekDerivationAttributes')
24
+ As2805RandomKeyMaterial = Shapes::StringShape.new(name: 'As2805RandomKeyMaterial')
22
25
  AsymmetricEncryptionAttributes = Shapes::StructureShape.new(name: 'AsymmetricEncryptionAttributes')
23
26
  AuthRequestCryptogramType = Shapes::StringShape.new(name: 'AuthRequestCryptogramType')
24
27
  AuthResponseValueType = Shapes::StringShape.new(name: 'AuthResponseValueType')
@@ -60,6 +63,8 @@ module Aws::PaymentCryptographyData
60
63
  EncryptedPinBlockType = Shapes::StringShape.new(name: 'EncryptedPinBlockType')
61
64
  EncryptionDecryptionAttributes = Shapes::UnionShape.new(name: 'EncryptionDecryptionAttributes')
62
65
  EncryptionMode = Shapes::StringShape.new(name: 'EncryptionMode')
66
+ GenerateAs2805KekValidationInput = Shapes::StructureShape.new(name: 'GenerateAs2805KekValidationInput')
67
+ GenerateAs2805KekValidationOutput = Shapes::StructureShape.new(name: 'GenerateAs2805KekValidationOutput')
63
68
  GenerateCardValidationDataInput = Shapes::StructureShape.new(name: 'GenerateCardValidationDataInput')
64
69
  GenerateCardValidationDataOutput = Shapes::StructureShape.new(name: 'GenerateCardValidationDataOutput')
65
70
  GenerateMacEmvPinChangeInput = Shapes::StructureShape.new(name: 'GenerateMacEmvPinChangeInput')
@@ -88,6 +93,8 @@ module Aws::PaymentCryptographyData
88
93
  IntegerRangeBetween4And12 = Shapes::IntegerShape.new(name: 'IntegerRangeBetween4And12')
89
94
  IntegerRangeBetween4And16 = Shapes::IntegerShape.new(name: 'IntegerRangeBetween4And16')
90
95
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
96
+ KekValidationRequest = Shapes::StructureShape.new(name: 'KekValidationRequest')
97
+ KekValidationResponse = Shapes::StructureShape.new(name: 'KekValidationResponse')
91
98
  KeyArn = Shapes::StringShape.new(name: 'KeyArn')
92
99
  KeyArnOrKeyAliasType = Shapes::StringShape.new(name: 'KeyArnOrKeyAliasType')
93
100
  KeyCheckValue = Shapes::StringShape.new(name: 'KeyCheckValue')
@@ -123,6 +130,7 @@ module Aws::PaymentCryptographyData
123
130
  PlainTextType = Shapes::StringShape.new(name: 'PlainTextType')
124
131
  PrimaryAccountNumberType = Shapes::StringShape.new(name: 'PrimaryAccountNumberType')
125
132
  ProprietaryAuthenticationDataType = Shapes::StringShape.new(name: 'ProprietaryAuthenticationDataType')
133
+ RandomKeySendVariantMask = Shapes::StringShape.new(name: 'RandomKeySendVariantMask')
126
134
  ReEncryptDataInput = Shapes::StructureShape.new(name: 'ReEncryptDataInput')
127
135
  ReEncryptDataOutput = Shapes::StructureShape.new(name: 'ReEncryptDataOutput')
128
136
  ReEncryptionAttributes = Shapes::UnionShape.new(name: 'ReEncryptionAttributes')
@@ -141,15 +149,18 @@ module Aws::PaymentCryptographyData
141
149
  String = Shapes::StringShape.new(name: 'String')
142
150
  SymmetricEncryptionAttributes = Shapes::StructureShape.new(name: 'SymmetricEncryptionAttributes')
143
151
  SymmetricKeyAlgorithm = Shapes::StringShape.new(name: 'SymmetricKeyAlgorithm')
152
+ SystemTraceAuditNumberType = Shapes::StringShape.new(name: 'SystemTraceAuditNumberType')
144
153
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
145
154
  Tr31WrappedKeyBlock = Shapes::StringShape.new(name: 'Tr31WrappedKeyBlock')
146
155
  TrackDataType = Shapes::StringShape.new(name: 'TrackDataType')
156
+ TransactionAmountType = Shapes::StringShape.new(name: 'TransactionAmountType')
147
157
  TransactionDataType = Shapes::StringShape.new(name: 'TransactionDataType')
148
158
  TranslateKeyMaterialInput = Shapes::StructureShape.new(name: 'TranslateKeyMaterialInput')
149
159
  TranslateKeyMaterialOutput = Shapes::StructureShape.new(name: 'TranslateKeyMaterialOutput')
150
160
  TranslatePinDataInput = Shapes::StructureShape.new(name: 'TranslatePinDataInput')
151
161
  TranslatePinDataOutput = Shapes::StructureShape.new(name: 'TranslatePinDataOutput')
152
162
  TranslationIsoFormats = Shapes::UnionShape.new(name: 'TranslationIsoFormats')
163
+ TranslationPinDataAs2805Format0 = Shapes::StructureShape.new(name: 'TranslationPinDataAs2805Format0')
153
164
  TranslationPinDataIsoFormat034 = Shapes::StructureShape.new(name: 'TranslationPinDataIsoFormat034')
154
165
  TranslationPinDataIsoFormat1 = Shapes::StructureShape.new(name: 'TranslationPinDataIsoFormat1')
155
166
  ValidationDataType = Shapes::StringShape.new(name: 'ValidationDataType')
@@ -195,6 +206,18 @@ module Aws::PaymentCryptographyData
195
206
  AmexCardSecurityCodeVersion2.add_member(:service_code, Shapes::ShapeRef.new(shape: ServiceCodeType, required: true, location_name: "ServiceCode"))
196
207
  AmexCardSecurityCodeVersion2.struct_class = Types::AmexCardSecurityCodeVersion2
197
208
 
209
+ As2805KekValidationType.add_member(:kek_validation_request, Shapes::ShapeRef.new(shape: KekValidationRequest, location_name: "KekValidationRequest"))
210
+ As2805KekValidationType.add_member(:kek_validation_response, Shapes::ShapeRef.new(shape: KekValidationResponse, location_name: "KekValidationResponse"))
211
+ As2805KekValidationType.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
212
+ As2805KekValidationType.add_member_subclass(:kek_validation_request, Types::As2805KekValidationType::KekValidationRequest)
213
+ As2805KekValidationType.add_member_subclass(:kek_validation_response, Types::As2805KekValidationType::KekValidationResponse)
214
+ As2805KekValidationType.add_member_subclass(:unknown, Types::As2805KekValidationType::Unknown)
215
+ As2805KekValidationType.struct_class = Types::As2805KekValidationType
216
+
217
+ As2805PekDerivationAttributes.add_member(:system_trace_audit_number, Shapes::ShapeRef.new(shape: SystemTraceAuditNumberType, required: true, location_name: "SystemTraceAuditNumber"))
218
+ As2805PekDerivationAttributes.add_member(:transaction_amount, Shapes::ShapeRef.new(shape: TransactionAmountType, required: true, location_name: "TransactionAmount"))
219
+ As2805PekDerivationAttributes.struct_class = Types::As2805PekDerivationAttributes
220
+
198
221
  AsymmetricEncryptionAttributes.add_member(:padding_type, Shapes::ShapeRef.new(shape: PaddingType, location_name: "PaddingType"))
199
222
  AsymmetricEncryptionAttributes.struct_class = Types::AsymmetricEncryptionAttributes
200
223
 
@@ -385,6 +408,17 @@ module Aws::PaymentCryptographyData
385
408
  EncryptionDecryptionAttributes.add_member_subclass(:unknown, Types::EncryptionDecryptionAttributes::Unknown)
386
409
  EncryptionDecryptionAttributes.struct_class = Types::EncryptionDecryptionAttributes
387
410
 
411
+ GenerateAs2805KekValidationInput.add_member(:key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "KeyIdentifier"))
412
+ GenerateAs2805KekValidationInput.add_member(:kek_validation_type, Shapes::ShapeRef.new(shape: As2805KekValidationType, required: true, location_name: "KekValidationType"))
413
+ GenerateAs2805KekValidationInput.add_member(:random_key_send_variant_mask, Shapes::ShapeRef.new(shape: RandomKeySendVariantMask, required: true, location_name: "RandomKeySendVariantMask"))
414
+ GenerateAs2805KekValidationInput.struct_class = Types::GenerateAs2805KekValidationInput
415
+
416
+ GenerateAs2805KekValidationOutput.add_member(:key_arn, Shapes::ShapeRef.new(shape: KeyArn, required: true, location_name: "KeyArn"))
417
+ GenerateAs2805KekValidationOutput.add_member(:key_check_value, Shapes::ShapeRef.new(shape: KeyCheckValue, required: true, location_name: "KeyCheckValue"))
418
+ GenerateAs2805KekValidationOutput.add_member(:random_key_send, Shapes::ShapeRef.new(shape: As2805RandomKeyMaterial, required: true, location_name: "RandomKeySend"))
419
+ GenerateAs2805KekValidationOutput.add_member(:random_key_receive, Shapes::ShapeRef.new(shape: As2805RandomKeyMaterial, required: true, location_name: "RandomKeyReceive"))
420
+ GenerateAs2805KekValidationOutput.struct_class = Types::GenerateAs2805KekValidationOutput
421
+
388
422
  GenerateCardValidationDataInput.add_member(:key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "KeyIdentifier"))
389
423
  GenerateCardValidationDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, required: true, location_name: "PrimaryAccountNumber"))
390
424
  GenerateCardValidationDataInput.add_member(:generation_attributes, Shapes::ShapeRef.new(shape: CardGenerationAttributes, required: true, location_name: "GenerationAttributes"))
@@ -491,6 +525,12 @@ module Aws::PaymentCryptographyData
491
525
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
492
526
  InternalServerException.struct_class = Types::InternalServerException
493
527
 
528
+ KekValidationRequest.add_member(:derive_key_algorithm, Shapes::ShapeRef.new(shape: SymmetricKeyAlgorithm, required: true, location_name: "DeriveKeyAlgorithm"))
529
+ KekValidationRequest.struct_class = Types::KekValidationRequest
530
+
531
+ KekValidationResponse.add_member(:random_key_send, Shapes::ShapeRef.new(shape: As2805RandomKeyMaterial, required: true, location_name: "RandomKeySend"))
532
+ KekValidationResponse.struct_class = Types::KekValidationResponse
533
+
494
534
  MacAlgorithmDukpt.add_member(:key_serial_number, Shapes::ShapeRef.new(shape: HexLength16Or20Or24, required: true, location_name: "KeySerialNumber"))
495
535
  MacAlgorithmDukpt.add_member(:dukpt_key_variant, Shapes::ShapeRef.new(shape: DukptKeyVariant, required: true, location_name: "DukptKeyVariant"))
496
536
  MacAlgorithmDukpt.add_member(:dukpt_derivation_type, Shapes::ShapeRef.new(shape: DukptDerivationType, location_name: "DukptDerivationType"))
@@ -660,6 +700,7 @@ module Aws::PaymentCryptographyData
660
700
  TranslatePinDataInput.add_member(:outgoing_dukpt_attributes, Shapes::ShapeRef.new(shape: DukptDerivationAttributes, location_name: "OutgoingDukptAttributes"))
661
701
  TranslatePinDataInput.add_member(:incoming_wrapped_key, Shapes::ShapeRef.new(shape: WrappedKey, location_name: "IncomingWrappedKey"))
662
702
  TranslatePinDataInput.add_member(:outgoing_wrapped_key, Shapes::ShapeRef.new(shape: WrappedKey, location_name: "OutgoingWrappedKey"))
703
+ TranslatePinDataInput.add_member(:incoming_as_2805_attributes, Shapes::ShapeRef.new(shape: As2805PekDerivationAttributes, location_name: "IncomingAs2805Attributes"))
663
704
  TranslatePinDataInput.struct_class = Types::TranslatePinDataInput
664
705
 
665
706
  TranslatePinDataOutput.add_member(:pin_block, Shapes::ShapeRef.new(shape: EncryptedPinBlockType, required: true, location_name: "PinBlock"))
@@ -671,14 +712,19 @@ module Aws::PaymentCryptographyData
671
712
  TranslationIsoFormats.add_member(:iso_format_1, Shapes::ShapeRef.new(shape: TranslationPinDataIsoFormat1, location_name: "IsoFormat1"))
672
713
  TranslationIsoFormats.add_member(:iso_format_3, Shapes::ShapeRef.new(shape: TranslationPinDataIsoFormat034, location_name: "IsoFormat3"))
673
714
  TranslationIsoFormats.add_member(:iso_format_4, Shapes::ShapeRef.new(shape: TranslationPinDataIsoFormat034, location_name: "IsoFormat4"))
715
+ TranslationIsoFormats.add_member(:as_2805_format_0, Shapes::ShapeRef.new(shape: TranslationPinDataAs2805Format0, location_name: "As2805Format0"))
674
716
  TranslationIsoFormats.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
675
717
  TranslationIsoFormats.add_member_subclass(:iso_format_0, Types::TranslationIsoFormats::IsoFormat0)
676
718
  TranslationIsoFormats.add_member_subclass(:iso_format_1, Types::TranslationIsoFormats::IsoFormat1)
677
719
  TranslationIsoFormats.add_member_subclass(:iso_format_3, Types::TranslationIsoFormats::IsoFormat3)
678
720
  TranslationIsoFormats.add_member_subclass(:iso_format_4, Types::TranslationIsoFormats::IsoFormat4)
721
+ TranslationIsoFormats.add_member_subclass(:as_2805_format_0, Types::TranslationIsoFormats::As2805Format0)
679
722
  TranslationIsoFormats.add_member_subclass(:unknown, Types::TranslationIsoFormats::Unknown)
680
723
  TranslationIsoFormats.struct_class = Types::TranslationIsoFormats
681
724
 
725
+ TranslationPinDataAs2805Format0.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, required: true, location_name: "PrimaryAccountNumber"))
726
+ TranslationPinDataAs2805Format0.struct_class = Types::TranslationPinDataAs2805Format0
727
+
682
728
  TranslationPinDataIsoFormat034.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, required: true, location_name: "PrimaryAccountNumber"))
683
729
  TranslationPinDataIsoFormat034.struct_class = Types::TranslationPinDataIsoFormat034
684
730
 
@@ -836,6 +882,19 @@ module Aws::PaymentCryptographyData
836
882
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
837
883
  end)
838
884
 
885
+ api.add_operation(:generate_as_2805_kek_validation, Seahorse::Model::Operation.new.tap do |o|
886
+ o.name = "GenerateAs2805KekValidation"
887
+ o.http_method = "POST"
888
+ o.http_request_uri = "/as2805kekvalidation/generate"
889
+ o.input = Shapes::ShapeRef.new(shape: GenerateAs2805KekValidationInput)
890
+ o.output = Shapes::ShapeRef.new(shape: GenerateAs2805KekValidationOutput)
891
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
892
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
893
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
894
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
895
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
896
+ end)
897
+
839
898
  api.add_operation(:generate_card_validation_data, Seahorse::Model::Operation.new.tap do |o|
840
899
  o.name = "GenerateCardValidationData"
841
900
  o.http_method = "POST"
@@ -104,6 +104,55 @@ module Aws::PaymentCryptographyData
104
104
  include Aws::Structure
105
105
  end
106
106
 
107
+ # Parameter information for generating a random key for KEK validation
108
+ # to perform node-to-node initialization.
109
+ #
110
+ # @note As2805KekValidationType is a union - when making an API calls you must set exactly one of the members.
111
+ #
112
+ # @!attribute [rw] kek_validation_request
113
+ # Parameter information for generating a KEK validation request during
114
+ # node-to-node initialization.
115
+ # @return [Types::KekValidationRequest]
116
+ #
117
+ # @!attribute [rw] kek_validation_response
118
+ # Parameter information for generating a KEK validation response
119
+ # during node-to-node initialization.
120
+ # @return [Types::KekValidationResponse]
121
+ #
122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/As2805KekValidationType AWS API Documentation
123
+ #
124
+ class As2805KekValidationType < Struct.new(
125
+ :kek_validation_request,
126
+ :kek_validation_response,
127
+ :unknown)
128
+ SENSITIVE = []
129
+ include Aws::Structure
130
+ include Aws::Structure::Union
131
+
132
+ class KekValidationRequest < As2805KekValidationType; end
133
+ class KekValidationResponse < As2805KekValidationType; end
134
+ class Unknown < As2805KekValidationType; end
135
+ end
136
+
137
+ # Parameter information to use a PEK derived using AS2805.
138
+ #
139
+ # @!attribute [rw] system_trace_audit_number
140
+ # The system trace audit number for the transaction.
141
+ # @return [String]
142
+ #
143
+ # @!attribute [rw] transaction_amount
144
+ # The transaction amount for the transaction.
145
+ # @return [String]
146
+ #
147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/As2805PekDerivationAttributes AWS API Documentation
148
+ #
149
+ class As2805PekDerivationAttributes < Struct.new(
150
+ :system_trace_audit_number,
151
+ :transaction_amount)
152
+ SENSITIVE = []
153
+ include Aws::Structure
154
+ end
155
+
107
156
  # Parameters for plaintext encryption using asymmetric keys.
108
157
  #
109
158
  # @!attribute [rw] padding_type
@@ -1042,6 +1091,62 @@ module Aws::PaymentCryptographyData
1042
1091
  class Unknown < EncryptionDecryptionAttributes; end
1043
1092
  end
1044
1093
 
1094
+ # @!attribute [rw] key_identifier
1095
+ # The `keyARN` of sending KEK that Amazon Web Services Payment
1096
+ # Cryptography uses for node-to-node initialization
1097
+ # @return [String]
1098
+ #
1099
+ # @!attribute [rw] kek_validation_type
1100
+ # Parameter information for generating a random key for KEK validation
1101
+ # to perform node-to-node initialization.
1102
+ # @return [Types::As2805KekValidationType]
1103
+ #
1104
+ # @!attribute [rw] random_key_send_variant_mask
1105
+ # The key variant to use for generating a random key for KEK
1106
+ # validation during node-to-node initialization.
1107
+ # @return [String]
1108
+ #
1109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateAs2805KekValidationInput AWS API Documentation
1110
+ #
1111
+ class GenerateAs2805KekValidationInput < Struct.new(
1112
+ :key_identifier,
1113
+ :kek_validation_type,
1114
+ :random_key_send_variant_mask)
1115
+ SENSITIVE = []
1116
+ include Aws::Structure
1117
+ end
1118
+
1119
+ # @!attribute [rw] key_arn
1120
+ # The `keyARN` of sending KEK that Amazon Web Services Payment
1121
+ # Cryptography validates for node-to-node initialization
1122
+ # @return [String]
1123
+ #
1124
+ # @!attribute [rw] key_check_value
1125
+ # The key check value (KCV) of the sending KEK that Amazon Web
1126
+ # Services Payment Cryptography validates for node-to-node
1127
+ # initialization.
1128
+ # @return [String]
1129
+ #
1130
+ # @!attribute [rw] random_key_send
1131
+ # The random key generated for sending KEK validation.
1132
+ # @return [String]
1133
+ #
1134
+ # @!attribute [rw] random_key_receive
1135
+ # The random key generated for receiving KEK validation. The
1136
+ # initiating node sends this key to its partner node for validation.
1137
+ # @return [String]
1138
+ #
1139
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateAs2805KekValidationOutput AWS API Documentation
1140
+ #
1141
+ class GenerateAs2805KekValidationOutput < Struct.new(
1142
+ :key_arn,
1143
+ :key_check_value,
1144
+ :random_key_send,
1145
+ :random_key_receive)
1146
+ SENSITIVE = [:random_key_send, :random_key_receive]
1147
+ include Aws::Structure
1148
+ end
1149
+
1045
1150
  # @!attribute [rw] key_identifier
1046
1151
  # The `keyARN` of the CVK encryption key that Amazon Web Services
1047
1152
  # Payment Cryptography uses to generate card data.
@@ -1308,9 +1413,7 @@ module Aws::PaymentCryptographyData
1308
1413
  # except that the fill digits are random values from 10 to 15.
1309
1414
  #
1310
1415
  # 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.
1416
+ # encryption.
1314
1417
  # @return [String]
1315
1418
  #
1316
1419
  # @!attribute [rw] encryption_wrapped_key
@@ -1628,6 +1731,37 @@ module Aws::PaymentCryptographyData
1628
1731
  include Aws::Structure
1629
1732
  end
1630
1733
 
1734
+ # Parameter information for generating a KEK validation request during
1735
+ # node-to-node initialization.
1736
+ #
1737
+ # @!attribute [rw] derive_key_algorithm
1738
+ # The key derivation algorithm to use for generating a KEK validation
1739
+ # request.
1740
+ # @return [String]
1741
+ #
1742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/KekValidationRequest AWS API Documentation
1743
+ #
1744
+ class KekValidationRequest < Struct.new(
1745
+ :derive_key_algorithm)
1746
+ SENSITIVE = []
1747
+ include Aws::Structure
1748
+ end
1749
+
1750
+ # Parameter information for generating a KEK validation response during
1751
+ # node-to-node initialization.
1752
+ #
1753
+ # @!attribute [rw] random_key_send
1754
+ # The random key for generating a KEK validation response.
1755
+ # @return [String]
1756
+ #
1757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/KekValidationResponse AWS API Documentation
1758
+ #
1759
+ class KekValidationResponse < Struct.new(
1760
+ :random_key_send)
1761
+ SENSITIVE = [:random_key_send]
1762
+ include Aws::Structure
1763
+ end
1764
+
1631
1765
  # Parameters required for DUKPT MAC generation and verification.
1632
1766
  #
1633
1767
  # @!attribute [rw] key_serial_number
@@ -2320,7 +2454,8 @@ module Aws::PaymentCryptographyData
2320
2454
  # @return [Types::OutgoingKeyMaterial]
2321
2455
  #
2322
2456
  # @!attribute [rw] key_check_value_algorithm
2323
- # The key check value (KCV) algorithm used for calculating the KCV.
2457
+ # The key check value (KCV) algorithm used for calculating the KCV of
2458
+ # the derived key.
2324
2459
  # @return [String]
2325
2460
  #
2326
2461
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslateKeyMaterialInput AWS API Documentation
@@ -2395,6 +2530,11 @@ module Aws::PaymentCryptographyData
2395
2530
  # outgoing PIN block data.
2396
2531
  # @return [Types::WrappedKey]
2397
2532
  #
2533
+ # @!attribute [rw] incoming_as_2805_attributes
2534
+ # The attributes and values to use for incoming AS2805 encryption key
2535
+ # for PIN block translation.
2536
+ # @return [Types::As2805PekDerivationAttributes]
2537
+ #
2398
2538
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslatePinDataInput AWS API Documentation
2399
2539
  #
2400
2540
  class TranslatePinDataInput < Struct.new(
@@ -2406,7 +2546,8 @@ module Aws::PaymentCryptographyData
2406
2546
  :incoming_dukpt_attributes,
2407
2547
  :outgoing_dukpt_attributes,
2408
2548
  :incoming_wrapped_key,
2409
- :outgoing_wrapped_key)
2549
+ :outgoing_wrapped_key,
2550
+ :incoming_as_2805_attributes)
2410
2551
  SENSITIVE = [:encrypted_pin_block]
2411
2552
  include Aws::Structure
2412
2553
  end
@@ -2446,21 +2587,25 @@ module Aws::PaymentCryptographyData
2446
2587
  # @note TranslationIsoFormats is a union - when making an API calls you must set exactly one of the members.
2447
2588
  #
2448
2589
  # @!attribute [rw] iso_format_0
2449
- # Parameters that are required for ISO9564 PIN format 0 tranlation.
2590
+ # Parameters that are required for ISO9564 PIN format 0 translation.
2450
2591
  # @return [Types::TranslationPinDataIsoFormat034]
2451
2592
  #
2452
2593
  # @!attribute [rw] iso_format_1
2453
- # Parameters that are required for ISO9564 PIN format 1 tranlation.
2594
+ # Parameters that are required for ISO9564 PIN format 1 translation.
2454
2595
  # @return [Types::TranslationPinDataIsoFormat1]
2455
2596
  #
2456
2597
  # @!attribute [rw] iso_format_3
2457
- # Parameters that are required for ISO9564 PIN format 3 tranlation.
2598
+ # Parameters that are required for ISO9564 PIN format 3 translation.
2458
2599
  # @return [Types::TranslationPinDataIsoFormat034]
2459
2600
  #
2460
2601
  # @!attribute [rw] iso_format_4
2461
- # Parameters that are required for ISO9564 PIN format 4 tranlation.
2602
+ # Parameters that are required for ISO9564 PIN format 4 translation.
2462
2603
  # @return [Types::TranslationPinDataIsoFormat034]
2463
2604
  #
2605
+ # @!attribute [rw] as_2805_format_0
2606
+ # Parameters that are required for AS2805 PIN format 0 translation.
2607
+ # @return [Types::TranslationPinDataAs2805Format0]
2608
+ #
2464
2609
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslationIsoFormats AWS API Documentation
2465
2610
  #
2466
2611
  class TranslationIsoFormats < Struct.new(
@@ -2468,6 +2613,7 @@ module Aws::PaymentCryptographyData
2468
2613
  :iso_format_1,
2469
2614
  :iso_format_3,
2470
2615
  :iso_format_4,
2616
+ :as_2805_format_0,
2471
2617
  :unknown)
2472
2618
  SENSITIVE = []
2473
2619
  include Aws::Structure
@@ -2477,11 +2623,29 @@ module Aws::PaymentCryptographyData
2477
2623
  class IsoFormat1 < TranslationIsoFormats; end
2478
2624
  class IsoFormat3 < TranslationIsoFormats; end
2479
2625
  class IsoFormat4 < TranslationIsoFormats; end
2626
+ class As2805Format0 < TranslationIsoFormats; end
2480
2627
  class Unknown < TranslationIsoFormats; end
2481
2628
  end
2482
2629
 
2483
- # Parameters that are required for tranlation between ISO9564 PIN format
2484
- # 0,3,4 tranlation.
2630
+ # Parameters that are required for translation between AS2805 PIN format
2631
+ # 0 translation.
2632
+ #
2633
+ # @!attribute [rw] primary_account_number
2634
+ # The Primary Account Number (PAN) of the cardholder. A PAN is a
2635
+ # unique identifier for a payment credit or debit card and associates
2636
+ # the card to a specific account holder.
2637
+ # @return [String]
2638
+ #
2639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslationPinDataAs2805Format0 AWS API Documentation
2640
+ #
2641
+ class TranslationPinDataAs2805Format0 < Struct.new(
2642
+ :primary_account_number)
2643
+ SENSITIVE = [:primary_account_number]
2644
+ include Aws::Structure
2645
+ end
2646
+
2647
+ # Parameters that are required for translation between ISO9564 PIN
2648
+ # format 0,3,4 translation.
2485
2649
  #
2486
2650
  # @!attribute [rw] primary_account_number
2487
2651
  # The Primary Account Number (PAN) of the cardholder. A PAN is a
@@ -2497,7 +2661,7 @@ module Aws::PaymentCryptographyData
2497
2661
  include Aws::Structure
2498
2662
  end
2499
2663
 
2500
- # Parameters that are required for ISO9564 PIN format 1 tranlation.
2664
+ # Parameters that are required for ISO9564 PIN format 1 translation.
2501
2665
  #
2502
2666
  # @api private
2503
2667
  #
@@ -55,7 +55,7 @@ module Aws::PaymentCryptographyData
55
55
  autoload :EndpointProvider, 'aws-sdk-paymentcryptographydata/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-paymentcryptographydata/endpoints'
57
57
 
58
- GEM_VERSION = '1.44.0'
58
+ GEM_VERSION = '1.45.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -182,6 +182,28 @@ module Aws
182
182
  ) -> _EncryptDataResponseSuccess
183
183
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _EncryptDataResponseSuccess
184
184
 
185
+ interface _GenerateAs2805KekValidationResponseSuccess
186
+ include ::Seahorse::Client::_ResponseSuccess[Types::GenerateAs2805KekValidationOutput]
187
+ def key_arn: () -> ::String
188
+ def key_check_value: () -> ::String
189
+ def random_key_send: () -> ::String
190
+ def random_key_receive: () -> ::String
191
+ end
192
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PaymentCryptographyData/Client.html#generate_as_2805_kek_validation-instance_method
193
+ def generate_as_2805_kek_validation: (
194
+ key_identifier: ::String,
195
+ kek_validation_type: {
196
+ kek_validation_request: {
197
+ derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224")
198
+ }?,
199
+ kek_validation_response: {
200
+ random_key_send: ::String
201
+ }?
202
+ },
203
+ random_key_send_variant_mask: ("VARIANT_MASK_82C0" | "VARIANT_MASK_82")
204
+ ) -> _GenerateAs2805KekValidationResponseSuccess
205
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GenerateAs2805KekValidationResponseSuccess
206
+
185
207
  interface _GenerateCardValidationDataResponseSuccess
186
208
  include ::Seahorse::Client::_ResponseSuccess[Types::GenerateCardValidationDataOutput]
187
209
  def key_arn: () -> ::String
@@ -240,7 +262,7 @@ module Aws
240
262
  key_identifier: ::String,
241
263
  message_data: ::String,
242
264
  generation_attributes: {
243
- algorithm: ("ISO9797_ALGORITHM1" | "ISO9797_ALGORITHM3" | "CMAC" | "HMAC" | "HMAC_SHA224" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512")?,
265
+ algorithm: ("ISO9797_ALGORITHM1" | "ISO9797_ALGORITHM3" | "CMAC" | "HMAC" | "HMAC_SHA224" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "AS2805_4_1")?,
244
266
  emv_mac: {
245
267
  major_key_derivation_mode: ("EMV_OPTION_A" | "EMV_OPTION_B"),
246
268
  primary_account_number: ::String,
@@ -523,6 +545,9 @@ module Aws
523
545
  }?,
524
546
  iso_format_4: {
525
547
  primary_account_number: ::String
548
+ }?,
549
+ as_2805_format_0: {
550
+ primary_account_number: ::String
526
551
  }?
527
552
  },
528
553
  outgoing_translation_attributes: {
@@ -536,6 +561,9 @@ module Aws
536
561
  }?,
537
562
  iso_format_4: {
538
563
  primary_account_number: ::String
564
+ }?,
565
+ as_2805_format_0: {
566
+ primary_account_number: ::String
539
567
  }?
540
568
  },
541
569
  encrypted_pin_block: ::String,
@@ -576,6 +604,10 @@ module Aws
576
604
  }?
577
605
  },
578
606
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC" | "SHA_1")?
607
+ },
608
+ ?incoming_as_2805_attributes: {
609
+ system_trace_audit_number: ::String,
610
+ transaction_amount: ::String
579
611
  }
580
612
  ) -> _TranslatePinDataResponseSuccess
581
613
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _TranslatePinDataResponseSuccess
@@ -692,7 +724,7 @@ module Aws
692
724
  message_data: ::String,
693
725
  mac: ::String,
694
726
  verification_attributes: {
695
- algorithm: ("ISO9797_ALGORITHM1" | "ISO9797_ALGORITHM3" | "CMAC" | "HMAC" | "HMAC_SHA224" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512")?,
727
+ algorithm: ("ISO9797_ALGORITHM1" | "ISO9797_ALGORITHM3" | "CMAC" | "HMAC" | "HMAC_SHA224" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "AS2805_4_1")?,
696
728
  emv_mac: {
697
729
  major_key_derivation_mode: ("EMV_OPTION_A" | "EMV_OPTION_B"),
698
730
  primary_account_number: ::String,
data/sig/types.rbs CHANGED
@@ -34,6 +34,26 @@ module Aws::PaymentCryptographyData
34
34
  SENSITIVE: [:card_expiry_date, :service_code]
35
35
  end
36
36
 
37
+ class As2805KekValidationType
38
+ attr_accessor kek_validation_request: Types::KekValidationRequest
39
+ attr_accessor kek_validation_response: Types::KekValidationResponse
40
+ attr_accessor unknown: untyped
41
+ SENSITIVE: []
42
+
43
+ class KekValidationRequest < As2805KekValidationType
44
+ end
45
+ class KekValidationResponse < As2805KekValidationType
46
+ end
47
+ class Unknown < As2805KekValidationType
48
+ end
49
+ end
50
+
51
+ class As2805PekDerivationAttributes
52
+ attr_accessor system_trace_audit_number: ::String
53
+ attr_accessor transaction_amount: ::String
54
+ SENSITIVE: []
55
+ end
56
+
37
57
  class AsymmetricEncryptionAttributes
38
58
  attr_accessor padding_type: ("PKCS1" | "OAEP_SHA1" | "OAEP_SHA256" | "OAEP_SHA512")
39
59
  SENSITIVE: []
@@ -317,6 +337,21 @@ module Aws::PaymentCryptographyData
317
337
  end
318
338
  end
319
339
 
340
+ class GenerateAs2805KekValidationInput
341
+ attr_accessor key_identifier: ::String
342
+ attr_accessor kek_validation_type: Types::As2805KekValidationType
343
+ attr_accessor random_key_send_variant_mask: ("VARIANT_MASK_82C0" | "VARIANT_MASK_82")
344
+ SENSITIVE: []
345
+ end
346
+
347
+ class GenerateAs2805KekValidationOutput
348
+ attr_accessor key_arn: ::String
349
+ attr_accessor key_check_value: ::String
350
+ attr_accessor random_key_send: ::String
351
+ attr_accessor random_key_receive: ::String
352
+ SENSITIVE: [:random_key_send, :random_key_receive]
353
+ end
354
+
320
355
  class GenerateCardValidationDataInput
321
356
  attr_accessor key_identifier: ::String
322
357
  attr_accessor primary_account_number: ::String
@@ -458,6 +493,16 @@ module Aws::PaymentCryptographyData
458
493
  SENSITIVE: []
459
494
  end
460
495
 
496
+ class KekValidationRequest
497
+ attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224")
498
+ SENSITIVE: []
499
+ end
500
+
501
+ class KekValidationResponse
502
+ attr_accessor random_key_send: ::String
503
+ SENSITIVE: [:random_key_send]
504
+ end
505
+
461
506
  class MacAlgorithmDukpt
462
507
  attr_accessor key_serial_number: ::String
463
508
  attr_accessor dukpt_key_variant: ("BIDIRECTIONAL" | "REQUEST" | "RESPONSE")
@@ -475,7 +520,7 @@ module Aws::PaymentCryptographyData
475
520
  end
476
521
 
477
522
  class MacAttributes
478
- attr_accessor algorithm: ("ISO9797_ALGORITHM1" | "ISO9797_ALGORITHM3" | "CMAC" | "HMAC" | "HMAC_SHA224" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512")
523
+ attr_accessor algorithm: ("ISO9797_ALGORITHM1" | "ISO9797_ALGORITHM3" | "CMAC" | "HMAC" | "HMAC_SHA224" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "AS2805_4_1")
479
524
  attr_accessor emv_mac: Types::MacAlgorithmEmv
480
525
  attr_accessor dukpt_iso_9797_algorithm_1: Types::MacAlgorithmDukpt
481
526
  attr_accessor dukpt_iso_9797_algorithm_3: Types::MacAlgorithmDukpt
@@ -717,6 +762,7 @@ module Aws::PaymentCryptographyData
717
762
  attr_accessor outgoing_dukpt_attributes: Types::DukptDerivationAttributes
718
763
  attr_accessor incoming_wrapped_key: Types::WrappedKey
719
764
  attr_accessor outgoing_wrapped_key: Types::WrappedKey
765
+ attr_accessor incoming_as_2805_attributes: Types::As2805PekDerivationAttributes
720
766
  SENSITIVE: [:encrypted_pin_block]
721
767
  end
722
768
 
@@ -732,6 +778,7 @@ module Aws::PaymentCryptographyData
732
778
  attr_accessor iso_format_1: Types::TranslationPinDataIsoFormat1
733
779
  attr_accessor iso_format_3: Types::TranslationPinDataIsoFormat034
734
780
  attr_accessor iso_format_4: Types::TranslationPinDataIsoFormat034
781
+ attr_accessor as_2805_format_0: Types::TranslationPinDataAs2805Format0
735
782
  attr_accessor unknown: untyped
736
783
  SENSITIVE: []
737
784
 
@@ -743,10 +790,17 @@ module Aws::PaymentCryptographyData
743
790
  end
744
791
  class IsoFormat4 < TranslationIsoFormats
745
792
  end
793
+ class As2805Format0 < TranslationIsoFormats
794
+ end
746
795
  class Unknown < TranslationIsoFormats
747
796
  end
748
797
  end
749
798
 
799
+ class TranslationPinDataAs2805Format0
800
+ attr_accessor primary_account_number: ::String
801
+ SENSITIVE: [:primary_account_number]
802
+ end
803
+
750
804
  class TranslationPinDataIsoFormat034
751
805
  attr_accessor primary_account_number: ::String
752
806
  SENSITIVE: [:primary_account_number]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-paymentcryptographydata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.44.0
4
+ version: 1.45.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services