aws-sdk-paymentcryptographydata 1.26.0 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1cee51842de4f9812872cf67ca217fb988c34615c188f62fa3729519f3bf1fe5
4
- data.tar.gz: f34fd2c582c47642ba205dd75025d702810537628ddc752a946593996890213a
3
+ metadata.gz: ce80c6d4fc0677ab2a7e9c1ee8d7bb0281d03cad13fcd4469fee4a73ba944a9b
4
+ data.tar.gz: 39aaf7b36d45bc50017b4fa6867f062ca50a0826b9bb16edf75a4c197fd51e6a
5
5
  SHA512:
6
- metadata.gz: f375a68479f99dacda79e012106a115b94c0c7923834f570cd240b617b134c1b694430e76a8dba737af87c4431487cf49caaf2e68c84e98d86575b174466d7d8
7
- data.tar.gz: d178f47a8b714d683ef5e68644f363209799bcc3245b13b3b367d7577eaf7a279ca354019f0d5577d20750b85f9fe70af70cbc1c965db298baf23f8d7f8702c8
6
+ metadata.gz: df14fd755f08e940389b3c9158cb3ac26d7a83af70045b3835f8fa9a519dc9490d1be75a55bdc4c5b06a69269cc3d7325902bd1ce12ded285dc3f99341996720
7
+ data.tar.gz: 1dd94acb5900f7ee47894e49fab0ad50c2e21a1ce2ab336cfd7ac0960d279db4f719d55450006f3b610a83c94ee1a34605b06bc349afdbca04ed98b3833e33f2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.27.0 (2024-10-23)
5
+ ------------------
6
+
7
+ * Feature - Add ECDH support on PIN operations.
8
+
4
9
  1.26.0 (2024-10-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.26.0
1
+ 1.27.0
@@ -566,6 +566,14 @@ module Aws::PaymentCryptographyData
566
566
  # wrapped_key: {
567
567
  # wrapped_key_material: { # required
568
568
  # tr_31_key_block: "Tr31WrappedKeyBlock",
569
+ # diffie_hellman_symmetric_key: {
570
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
571
+ # public_key_certificate: "CertificateType", # required
572
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
573
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
574
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
575
+ # shared_information: "SharedInformation", # required
576
+ # },
569
577
  # },
570
578
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
571
579
  # },
@@ -726,6 +734,14 @@ module Aws::PaymentCryptographyData
726
734
  # wrapped_key: {
727
735
  # wrapped_key_material: { # required
728
736
  # tr_31_key_block: "Tr31WrappedKeyBlock",
737
+ # diffie_hellman_symmetric_key: {
738
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
739
+ # public_key_certificate: "CertificateType", # required
740
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
741
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
742
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
743
+ # shared_information: "SharedInformation", # required
744
+ # },
729
745
  # },
730
746
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
731
747
  # },
@@ -1148,9 +1164,18 @@ module Aws::PaymentCryptographyData
1148
1164
  # Cryptography. This operation uses a separate Pin Verification Key
1149
1165
  # (PVK) for VISA PVV generation.
1150
1166
  #
1167
+ # Using ECDH key exchange, you can receive cardholder selectable PINs
1168
+ # into Amazon Web Services Payment Cryptography. The ECDH derived key
1169
+ # protects the incoming PIN block. You can also use it for reveal PIN,
1170
+ # wherein the generated PIN block is protected by the ECDH derived key
1171
+ # before transmission from Amazon Web Services Payment Cryptography. For
1172
+ # more information on establishing ECDH derived keys, see the
1173
+ # [Generating keys][2] in the *Amazon Web Services Payment Cryptography
1174
+ # User Guide*.
1175
+ #
1151
1176
  # For information about valid keys for this operation, see
1152
- # [Understanding key attributes][2] and [Key types for specific data
1153
- # operations][3] in the *Amazon Web Services Payment Cryptography User
1177
+ # [Understanding key attributes][3] and [Key types for specific data
1178
+ # operations][4] in the *Amazon Web Services Payment Cryptography User
1154
1179
  # Guide*.
1155
1180
  #
1156
1181
  # **Cross-account use**: This operation can't be used across different
@@ -1167,8 +1192,9 @@ module Aws::PaymentCryptographyData
1167
1192
  #
1168
1193
  #
1169
1194
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/generate-pin-data.html
1170
- # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1171
- # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1195
+ # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html
1196
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1197
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1172
1198
  #
1173
1199
  # @option params [required, String] :generation_key_identifier
1174
1200
  # The `keyARN` of the PEK that Amazon Web Services Payment Cryptography
@@ -1176,7 +1202,8 @@ module Aws::PaymentCryptographyData
1176
1202
  #
1177
1203
  # @option params [required, String] :encryption_key_identifier
1178
1204
  # The `keyARN` of the PEK that Amazon Web Services Payment Cryptography
1179
- # uses to encrypt the PIN Block.
1205
+ # uses to encrypt the PIN Block. For ECDH, it is the `keyARN` of the
1206
+ # asymmetric ECC key.
1180
1207
  #
1181
1208
  # @option params [required, Types::PinGenerationAttributes] :generation_attributes
1182
1209
  # The attributes and values to use for PIN, PVV, or PIN Offset
@@ -1202,6 +1229,10 @@ module Aws::PaymentCryptographyData
1202
1229
  # The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
1203
1230
  # except that the fill digits are random values from 10 to 15.
1204
1231
  #
1232
+ # @option params [Types::WrappedKey] :encryption_wrapped_key
1233
+ # Parameter information of a WrappedKeyBlock for encryption key
1234
+ # exchange.
1235
+ #
1205
1236
  # @return [Types::GeneratePinDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1206
1237
  #
1207
1238
  # * {Types::GeneratePinDataOutput#generation_key_arn #generation_key_arn} => String
@@ -1249,7 +1280,21 @@ module Aws::PaymentCryptographyData
1249
1280
  # },
1250
1281
  # pin_data_length: 1,
1251
1282
  # primary_account_number: "PrimaryAccountNumberType", # required
1252
- # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3
1283
+ # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3, ISO_FORMAT_4
1284
+ # encryption_wrapped_key: {
1285
+ # wrapped_key_material: { # required
1286
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
1287
+ # diffie_hellman_symmetric_key: {
1288
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1289
+ # public_key_certificate: "CertificateType", # required
1290
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1291
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1292
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1293
+ # shared_information: "SharedInformation", # required
1294
+ # },
1295
+ # },
1296
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1297
+ # },
1253
1298
  # })
1254
1299
  #
1255
1300
  # @example Response structure
@@ -1397,12 +1442,28 @@ module Aws::PaymentCryptographyData
1397
1442
  # incoming_wrapped_key: {
1398
1443
  # wrapped_key_material: { # required
1399
1444
  # tr_31_key_block: "Tr31WrappedKeyBlock",
1445
+ # diffie_hellman_symmetric_key: {
1446
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1447
+ # public_key_certificate: "CertificateType", # required
1448
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1449
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1450
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1451
+ # shared_information: "SharedInformation", # required
1452
+ # },
1400
1453
  # },
1401
1454
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1402
1455
  # },
1403
1456
  # outgoing_wrapped_key: {
1404
1457
  # wrapped_key_material: { # required
1405
1458
  # tr_31_key_block: "Tr31WrappedKeyBlock",
1459
+ # diffie_hellman_symmetric_key: {
1460
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1461
+ # public_key_certificate: "CertificateType", # required
1462
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1463
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1464
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1465
+ # shared_information: "SharedInformation", # required
1466
+ # },
1406
1467
  # },
1407
1468
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1408
1469
  # },
@@ -1427,24 +1488,36 @@ module Aws::PaymentCryptographyData
1427
1488
  # For more information, see [Translate PIN data][1] in the *Amazon Web
1428
1489
  # Services Payment Cryptography User Guide*.
1429
1490
  #
1430
- # PIN block translation involves changing the encrytion of PIN block
1431
- # from one encryption key to another encryption key and changing PIN
1432
- # block format from one to another without PIN block data leaving Amazon
1433
- # Web Services Payment Cryptography. The encryption key transformation
1434
- # can be from PEK (Pin Encryption Key) to BDK (Base Derivation Key) for
1435
- # DUKPT or from BDK for DUKPT to PEK. Amazon Web Services Payment
1436
- # Cryptography supports `TDES` and `AES` key derivation type for DUKPT
1437
- # translations.
1491
+ # PIN block translation involves changing a PIN block from one
1492
+ # encryption key to another and optionally change its format. PIN block
1493
+ # translation occurs entirely within the HSM boundary and PIN data never
1494
+ # enters or leaves Amazon Web Services Payment Cryptography in clear
1495
+ # text. The encryption key transformation can be from PEK (Pin
1496
+ # Encryption Key) to BDK (Base Derivation Key) for DUKPT or from BDK for
1497
+ # DUKPT to PEK.
1498
+ #
1499
+ # Amazon Web Services Payment Cryptography also supports use of dynamic
1500
+ # keys and ECDH (Elliptic Curve Diffie-Hellman) based key exchange for
1501
+ # this operation.
1502
+ #
1503
+ # Dynamic keys allow you to pass a PEK as a TR-31 WrappedKeyBlock. They
1504
+ # can be used when key material is frequently rotated, such as during
1505
+ # every card transaction, and there is need to avoid importing
1506
+ # short-lived keys into Amazon Web Services Payment Cryptography. To
1507
+ # translate PIN block using dynamic keys, the `keyARN` is the Key
1508
+ # Encryption Key (KEK) of the TR-31 wrapped PEK. The incoming wrapped
1509
+ # key shall have a key purpose of P0 with a mode of use of B or D. For
1510
+ # more information, see [Using Dynamic Keys][2] in the *Amazon Web
1511
+ # Services Payment Cryptography User Guide*.
1438
1512
  #
1439
- # This operation also supports dynamic keys, allowing you to pass a
1440
- # dynamic PEK as a TR-31 WrappedKeyBlock. This can be used when key
1441
- # material is frequently rotated, such as during every card transaction,
1442
- # and there is need to avoid importing short-lived keys into Amazon Web
1443
- # Services Payment Cryptography. To translate PIN block using dynamic
1444
- # keys, the `keyARN` is the Key Encryption Key (KEK) of the TR-31
1445
- # wrapped PEK. The incoming wrapped key shall have a key purpose of P0
1446
- # with a mode of use of B or D. For more information, see [Using Dynamic
1447
- # Keys][2] in the *Amazon Web Services Payment Cryptography User Guide*.
1513
+ # Using ECDH key exchange, you can receive cardholder selectable PINs
1514
+ # into Amazon Web Services Payment Cryptography. The ECDH derived key
1515
+ # protects the incoming PIN block, which is translated to a PEK
1516
+ # encrypted PIN block for use within the service. You can also use ECDH
1517
+ # for reveal PIN, wherein the service translates the PIN block from PEK
1518
+ # to a ECDH derived encryption key. For more information on establishing
1519
+ # ECDH derived keys, see the [Generating keys][3] in the *Amazon Web
1520
+ # Services Payment Cryptography User Guide*.
1448
1521
  #
1449
1522
  # The allowed combinations of PIN block format translations are guided
1450
1523
  # by PCI. It is important to note that not all encrypted PIN block
@@ -1454,8 +1527,8 @@ module Aws::PaymentCryptographyData
1454
1527
  # not require a PAN for generation.
1455
1528
  #
1456
1529
  # For information about valid keys for this operation, see
1457
- # [Understanding key attributes][3] and [Key types for specific data
1458
- # operations][4] in the *Amazon Web Services Payment Cryptography User
1530
+ # [Understanding key attributes][4] and [Key types for specific data
1531
+ # operations][5] in the *Amazon Web Services Payment Cryptography User
1459
1532
  # Guide*.
1460
1533
  #
1461
1534
  # <note markdown="1"> Amazon Web Services Payment Cryptography currently supports ISO PIN
@@ -1477,21 +1550,23 @@ module Aws::PaymentCryptographyData
1477
1550
  #
1478
1551
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/translate-pin-data.html
1479
1552
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/use-cases-acquirers-dynamickeys.html
1480
- # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1481
- # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1553
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html
1554
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1555
+ # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1482
1556
  #
1483
1557
  # @option params [required, String] :incoming_key_identifier
1484
1558
  # The `keyARN` of the encryption key under which incoming PIN block data
1485
1559
  # is encrypted. This key type can be PEK or BDK.
1486
1560
  #
1487
- # When a WrappedKeyBlock is provided, this value will be the identifier
1488
- # to the key wrapping key for PIN block. Otherwise, it is the key
1489
- # identifier used to perform the operation.
1561
+ # For dynamic keys, it is the `keyARN` of KEK of the TR-31 wrapped PEK.
1562
+ # For ECDH, it is the `keyARN` of the asymmetric ECC key.
1490
1563
  #
1491
1564
  # @option params [required, String] :outgoing_key_identifier
1492
1565
  # The `keyARN` of the encryption key for encrypting outgoing PIN block
1493
1566
  # data. This key type can be PEK or BDK.
1494
1567
  #
1568
+ # For ECDH, it is the `keyARN` of the asymmetric ECC key.
1569
+ #
1495
1570
  # @option params [required, Types::TranslationIsoFormats] :incoming_translation_attributes
1496
1571
  # The format of the incoming PIN block data for translation within
1497
1572
  # Amazon Web Services Payment Cryptography.
@@ -1571,12 +1646,28 @@ module Aws::PaymentCryptographyData
1571
1646
  # incoming_wrapped_key: {
1572
1647
  # wrapped_key_material: { # required
1573
1648
  # tr_31_key_block: "Tr31WrappedKeyBlock",
1649
+ # diffie_hellman_symmetric_key: {
1650
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1651
+ # public_key_certificate: "CertificateType", # required
1652
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1653
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1654
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1655
+ # shared_information: "SharedInformation", # required
1656
+ # },
1574
1657
  # },
1575
1658
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1576
1659
  # },
1577
1660
  # outgoing_wrapped_key: {
1578
1661
  # wrapped_key_material: { # required
1579
1662
  # tr_31_key_block: "Tr31WrappedKeyBlock",
1663
+ # diffie_hellman_symmetric_key: {
1664
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1665
+ # public_key_certificate: "CertificateType", # required
1666
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1667
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1668
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1669
+ # shared_information: "SharedInformation", # required
1670
+ # },
1580
1671
  # },
1581
1672
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1582
1673
  # },
@@ -2022,6 +2113,10 @@ module Aws::PaymentCryptographyData
2022
2113
  # @option params [Types::DukptAttributes] :dukpt_attributes
2023
2114
  # The attributes and values for the DUKPT encrypted PIN block data.
2024
2115
  #
2116
+ # @option params [Types::WrappedKey] :encryption_wrapped_key
2117
+ # Parameter information of a WrappedKeyBlock for encryption key
2118
+ # exchange.
2119
+ #
2025
2120
  # @return [Types::VerifyPinDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2026
2121
  #
2027
2122
  # * {Types::VerifyPinDataOutput#verification_key_arn #verification_key_arn} => String
@@ -2048,12 +2143,26 @@ module Aws::PaymentCryptographyData
2048
2143
  # },
2049
2144
  # encrypted_pin_block: "EncryptedPinBlockType", # required
2050
2145
  # primary_account_number: "PrimaryAccountNumberType", # required
2051
- # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3
2146
+ # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3, ISO_FORMAT_4
2052
2147
  # pin_data_length: 1,
2053
2148
  # dukpt_attributes: {
2054
2149
  # key_serial_number: "HexLengthBetween10And24", # required
2055
2150
  # dukpt_derivation_type: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
2056
2151
  # },
2152
+ # encryption_wrapped_key: {
2153
+ # wrapped_key_material: { # required
2154
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
2155
+ # diffie_hellman_symmetric_key: {
2156
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
2157
+ # public_key_certificate: "CertificateType", # required
2158
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
2159
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
2160
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
2161
+ # shared_information: "SharedInformation", # required
2162
+ # },
2163
+ # },
2164
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
2165
+ # },
2057
2166
  # })
2058
2167
  #
2059
2168
  # @example Response structure
@@ -2090,7 +2199,7 @@ module Aws::PaymentCryptographyData
2090
2199
  tracer: tracer
2091
2200
  )
2092
2201
  context[:gem_name] = 'aws-sdk-paymentcryptographydata'
2093
- context[:gem_version] = '1.26.0'
2202
+ context[:gem_version] = '1.27.0'
2094
2203
  Seahorse::Client::Request.new(handlers, context)
2095
2204
  end
2096
2205
 
@@ -28,6 +28,7 @@ module Aws::PaymentCryptographyData
28
28
  CardVerificationAttributes = Shapes::UnionShape.new(name: 'CardVerificationAttributes')
29
29
  CardVerificationValue1 = Shapes::StructureShape.new(name: 'CardVerificationValue1')
30
30
  CardVerificationValue2 = Shapes::StructureShape.new(name: 'CardVerificationValue2')
31
+ CertificateType = Shapes::StringShape.new(name: 'CertificateType')
31
32
  CipherTextType = Shapes::StringShape.new(name: 'CipherTextType')
32
33
  CommandMessageDataType = Shapes::StringShape.new(name: 'CommandMessageDataType')
33
34
  CryptogramAuthResponse = Shapes::UnionShape.new(name: 'CryptogramAuthResponse')
@@ -47,6 +48,7 @@ module Aws::PaymentCryptographyData
47
48
  DukptKeyVariant = Shapes::StringShape.new(name: 'DukptKeyVariant')
48
49
  DynamicCardVerificationCode = Shapes::StructureShape.new(name: 'DynamicCardVerificationCode')
49
50
  DynamicCardVerificationValue = Shapes::StructureShape.new(name: 'DynamicCardVerificationValue')
51
+ EcdhDerivationAttributes = Shapes::StructureShape.new(name: 'EcdhDerivationAttributes')
50
52
  Emv2000Attributes = Shapes::StructureShape.new(name: 'Emv2000Attributes')
51
53
  EmvCommonAttributes = Shapes::StructureShape.new(name: 'EmvCommonAttributes')
52
54
  EmvEncryptionAttributes = Shapes::StructureShape.new(name: 'EmvEncryptionAttributes')
@@ -87,6 +89,8 @@ module Aws::PaymentCryptographyData
87
89
  KeyArnOrKeyAliasType = Shapes::StringShape.new(name: 'KeyArnOrKeyAliasType')
88
90
  KeyCheckValue = Shapes::StringShape.new(name: 'KeyCheckValue')
89
91
  KeyCheckValueAlgorithm = Shapes::StringShape.new(name: 'KeyCheckValueAlgorithm')
92
+ KeyDerivationFunction = Shapes::StringShape.new(name: 'KeyDerivationFunction')
93
+ KeyDerivationHashAlgorithm = Shapes::StringShape.new(name: 'KeyDerivationHashAlgorithm')
90
94
  MacAlgorithm = Shapes::StringShape.new(name: 'MacAlgorithm')
91
95
  MacAlgorithmDukpt = Shapes::StructureShape.new(name: 'MacAlgorithmDukpt')
92
96
  MacAlgorithmEmv = Shapes::StructureShape.new(name: 'MacAlgorithmEmv')
@@ -127,8 +131,10 @@ module Aws::PaymentCryptographyData
127
131
  SessionKeyEmvCommon = Shapes::StructureShape.new(name: 'SessionKeyEmvCommon')
128
132
  SessionKeyMastercard = Shapes::StructureShape.new(name: 'SessionKeyMastercard')
129
133
  SessionKeyVisa = Shapes::StructureShape.new(name: 'SessionKeyVisa')
134
+ SharedInformation = Shapes::StringShape.new(name: 'SharedInformation')
130
135
  String = Shapes::StringShape.new(name: 'String')
131
136
  SymmetricEncryptionAttributes = Shapes::StructureShape.new(name: 'SymmetricEncryptionAttributes')
137
+ SymmetricKeyAlgorithm = Shapes::StringShape.new(name: 'SymmetricKeyAlgorithm')
132
138
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
133
139
  Tr31WrappedKeyBlock = Shapes::StringShape.new(name: 'Tr31WrappedKeyBlock')
134
140
  TrackDataType = Shapes::StringShape.new(name: 'TrackDataType')
@@ -309,6 +315,14 @@ module Aws::PaymentCryptographyData
309
315
  DynamicCardVerificationValue.add_member(:application_transaction_counter, Shapes::ShapeRef.new(shape: HexLengthBetween2And4, required: true, location_name: "ApplicationTransactionCounter"))
310
316
  DynamicCardVerificationValue.struct_class = Types::DynamicCardVerificationValue
311
317
 
318
+ EcdhDerivationAttributes.add_member(:certificate_authority_public_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "CertificateAuthorityPublicKeyIdentifier"))
319
+ EcdhDerivationAttributes.add_member(:public_key_certificate, Shapes::ShapeRef.new(shape: CertificateType, required: true, location_name: "PublicKeyCertificate"))
320
+ EcdhDerivationAttributes.add_member(:key_algorithm, Shapes::ShapeRef.new(shape: SymmetricKeyAlgorithm, required: true, location_name: "KeyAlgorithm"))
321
+ EcdhDerivationAttributes.add_member(:key_derivation_function, Shapes::ShapeRef.new(shape: KeyDerivationFunction, required: true, location_name: "KeyDerivationFunction"))
322
+ EcdhDerivationAttributes.add_member(:key_derivation_hash_algorithm, Shapes::ShapeRef.new(shape: KeyDerivationHashAlgorithm, required: true, location_name: "KeyDerivationHashAlgorithm"))
323
+ EcdhDerivationAttributes.add_member(:shared_information, Shapes::ShapeRef.new(shape: SharedInformation, required: true, location_name: "SharedInformation"))
324
+ EcdhDerivationAttributes.struct_class = Types::EcdhDerivationAttributes
325
+
312
326
  Emv2000Attributes.add_member(:major_key_derivation_mode, Shapes::ShapeRef.new(shape: MajorKeyDerivationMode, required: true, location_name: "MajorKeyDerivationMode"))
313
327
  Emv2000Attributes.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, required: true, location_name: "PrimaryAccountNumber"))
314
328
  Emv2000Attributes.add_member(:pan_sequence_number, Shapes::ShapeRef.new(shape: NumberLengthEquals2, required: true, location_name: "PanSequenceNumber"))
@@ -403,6 +417,7 @@ module Aws::PaymentCryptographyData
403
417
  GeneratePinDataInput.add_member(:pin_data_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And12, location_name: "PinDataLength"))
404
418
  GeneratePinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, required: true, location_name: "PrimaryAccountNumber"))
405
419
  GeneratePinDataInput.add_member(:pin_block_format, Shapes::ShapeRef.new(shape: PinBlockFormatForPinData, required: true, location_name: "PinBlockFormat"))
420
+ GeneratePinDataInput.add_member(:encryption_wrapped_key, Shapes::ShapeRef.new(shape: WrappedKey, location_name: "EncryptionWrappedKey"))
406
421
  GeneratePinDataInput.struct_class = Types::GeneratePinDataInput
407
422
 
408
423
  GeneratePinDataOutput.add_member(:generation_key_arn, Shapes::ShapeRef.new(shape: KeyArn, required: true, location_name: "GenerationKeyArn"))
@@ -676,6 +691,7 @@ module Aws::PaymentCryptographyData
676
691
  VerifyPinDataInput.add_member(:pin_block_format, Shapes::ShapeRef.new(shape: PinBlockFormatForPinData, required: true, location_name: "PinBlockFormat"))
677
692
  VerifyPinDataInput.add_member(:pin_data_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And12, location_name: "PinDataLength"))
678
693
  VerifyPinDataInput.add_member(:dukpt_attributes, Shapes::ShapeRef.new(shape: DukptAttributes, location_name: "DukptAttributes"))
694
+ VerifyPinDataInput.add_member(:encryption_wrapped_key, Shapes::ShapeRef.new(shape: WrappedKey, location_name: "EncryptionWrappedKey"))
679
695
  VerifyPinDataInput.struct_class = Types::VerifyPinDataInput
680
696
 
681
697
  VerifyPinDataOutput.add_member(:verification_key_arn, Shapes::ShapeRef.new(shape: KeyArn, required: true, location_name: "VerificationKeyArn"))
@@ -714,8 +730,10 @@ module Aws::PaymentCryptographyData
714
730
  WrappedKey.struct_class = Types::WrappedKey
715
731
 
716
732
  WrappedKeyMaterial.add_member(:tr_31_key_block, Shapes::ShapeRef.new(shape: Tr31WrappedKeyBlock, location_name: "Tr31KeyBlock"))
733
+ WrappedKeyMaterial.add_member(:diffie_hellman_symmetric_key, Shapes::ShapeRef.new(shape: EcdhDerivationAttributes, location_name: "DiffieHellmanSymmetricKey"))
717
734
  WrappedKeyMaterial.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
718
735
  WrappedKeyMaterial.add_member_subclass(:tr_31_key_block, Types::WrappedKeyMaterial::Tr31KeyBlock)
736
+ WrappedKeyMaterial.add_member_subclass(:diffie_hellman_symmetric_key, Types::WrappedKeyMaterial::DiffieHellmanSymmetricKey)
719
737
  WrappedKeyMaterial.add_member_subclass(:unknown, Types::WrappedKeyMaterial::Unknown)
720
738
  WrappedKeyMaterial.struct_class = Types::WrappedKeyMaterial
721
739
 
@@ -714,6 +714,53 @@ module Aws::PaymentCryptographyData
714
714
  include Aws::Structure
715
715
  end
716
716
 
717
+ # Parameters required to establish ECDH based key exchange.
718
+ #
719
+ # @!attribute [rw] certificate_authority_public_key_identifier
720
+ # The `keyArn` of the certificate that signed the client's
721
+ # `PublicKeyCertificate`.
722
+ # @return [String]
723
+ #
724
+ # @!attribute [rw] public_key_certificate
725
+ # The client's public key certificate in PEM format (base64 encoded)
726
+ # to use for ECDH key derivation.
727
+ # @return [String]
728
+ #
729
+ # @!attribute [rw] key_algorithm
730
+ # The key algorithm of the derived ECDH key.
731
+ # @return [String]
732
+ #
733
+ # @!attribute [rw] key_derivation_function
734
+ # The key derivation function to use for deriving a key using ECDH.
735
+ # @return [String]
736
+ #
737
+ # @!attribute [rw] key_derivation_hash_algorithm
738
+ # The hash type to use for deriving a key using ECDH.
739
+ # @return [String]
740
+ #
741
+ # @!attribute [rw] shared_information
742
+ # A byte string containing information that binds the ECDH derived key
743
+ # to the two parties involved or to the context of the key.
744
+ #
745
+ # It may include details like identities of the two parties deriving
746
+ # the key, context of the operation, session IDs, and optionally a
747
+ # nonce. It must not contain zero bytes, and re-using shared
748
+ # information for multiple ECDH key derivations is not recommended.
749
+ # @return [String]
750
+ #
751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/EcdhDerivationAttributes AWS API Documentation
752
+ #
753
+ class EcdhDerivationAttributes < Struct.new(
754
+ :certificate_authority_public_key_identifier,
755
+ :public_key_certificate,
756
+ :key_algorithm,
757
+ :key_derivation_function,
758
+ :key_derivation_hash_algorithm,
759
+ :shared_information)
760
+ SENSITIVE = [:public_key_certificate]
761
+ include Aws::Structure
762
+ end
763
+
717
764
  # Parameters to derive the confidentiality and integrity keys for a
718
765
  # payment card using EMV2000 deruv.
719
766
  #
@@ -1200,7 +1247,8 @@ module Aws::PaymentCryptographyData
1200
1247
  #
1201
1248
  # @!attribute [rw] encryption_key_identifier
1202
1249
  # The `keyARN` of the PEK that Amazon Web Services Payment
1203
- # Cryptography uses to encrypt the PIN Block.
1250
+ # Cryptography uses to encrypt the PIN Block. For ECDH, it is the
1251
+ # `keyARN` of the asymmetric ECC key.
1204
1252
  # @return [String]
1205
1253
  #
1206
1254
  # @!attribute [rw] generation_attributes
@@ -1231,6 +1279,11 @@ module Aws::PaymentCryptographyData
1231
1279
  # except that the fill digits are random values from 10 to 15.
1232
1280
  # @return [String]
1233
1281
  #
1282
+ # @!attribute [rw] encryption_wrapped_key
1283
+ # Parameter information of a WrappedKeyBlock for encryption key
1284
+ # exchange.
1285
+ # @return [Types::WrappedKey]
1286
+ #
1234
1287
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GeneratePinDataInput AWS API Documentation
1235
1288
  #
1236
1289
  class GeneratePinDataInput < Struct.new(
@@ -1239,7 +1292,8 @@ module Aws::PaymentCryptographyData
1239
1292
  :generation_attributes,
1240
1293
  :pin_data_length,
1241
1294
  :primary_account_number,
1242
- :pin_block_format)
1295
+ :pin_block_format,
1296
+ :encryption_wrapped_key)
1243
1297
  SENSITIVE = [:primary_account_number]
1244
1298
  include Aws::Structure
1245
1299
  end
@@ -1260,7 +1314,8 @@ module Aws::PaymentCryptographyData
1260
1314
  #
1261
1315
  # @!attribute [rw] encryption_key_arn
1262
1316
  # The `keyARN` of the PEK that Amazon Web Services Payment
1263
- # Cryptography uses for encrypted pin block generation.
1317
+ # Cryptography uses for encrypted pin block generation. For ECDH, it
1318
+ # is the `keyARN` of the asymmetric ECC key.
1264
1319
  # @return [String]
1265
1320
  #
1266
1321
  # @!attribute [rw] encryption_key_check_value
@@ -2110,14 +2165,15 @@ module Aws::PaymentCryptographyData
2110
2165
  # The `keyARN` of the encryption key under which incoming PIN block
2111
2166
  # data is encrypted. This key type can be PEK or BDK.
2112
2167
  #
2113
- # When a WrappedKeyBlock is provided, this value will be the
2114
- # identifier to the key wrapping key for PIN block. Otherwise, it is
2115
- # the key identifier used to perform the operation.
2168
+ # For dynamic keys, it is the `keyARN` of KEK of the TR-31 wrapped
2169
+ # PEK. For ECDH, it is the `keyARN` of the asymmetric ECC key.
2116
2170
  # @return [String]
2117
2171
  #
2118
2172
  # @!attribute [rw] outgoing_key_identifier
2119
2173
  # The `keyARN` of the encryption key for encrypting outgoing PIN block
2120
2174
  # data. This key type can be PEK or BDK.
2175
+ #
2176
+ # For ECDH, it is the `keyARN` of the asymmetric ECC key.
2121
2177
  # @return [String]
2122
2178
  #
2123
2179
  # @!attribute [rw] incoming_translation_attributes
@@ -2557,6 +2613,11 @@ module Aws::PaymentCryptographyData
2557
2613
  # The attributes and values for the DUKPT encrypted PIN block data.
2558
2614
  # @return [Types::DukptAttributes]
2559
2615
  #
2616
+ # @!attribute [rw] encryption_wrapped_key
2617
+ # Parameter information of a WrappedKeyBlock for encryption key
2618
+ # exchange.
2619
+ # @return [Types::WrappedKey]
2620
+ #
2560
2621
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyPinDataInput AWS API Documentation
2561
2622
  #
2562
2623
  class VerifyPinDataInput < Struct.new(
@@ -2567,7 +2628,8 @@ module Aws::PaymentCryptographyData
2567
2628
  :primary_account_number,
2568
2629
  :pin_block_format,
2569
2630
  :pin_data_length,
2570
- :dukpt_attributes)
2631
+ :dukpt_attributes,
2632
+ :encryption_wrapped_key)
2571
2633
  SENSITIVE = [:encrypted_pin_block, :primary_account_number]
2572
2634
  include Aws::Structure
2573
2635
  end
@@ -2782,16 +2844,22 @@ module Aws::PaymentCryptographyData
2782
2844
  # The TR-31 wrapped key block.
2783
2845
  # @return [String]
2784
2846
  #
2847
+ # @!attribute [rw] diffie_hellman_symmetric_key
2848
+ # The parameter information for deriving a ECDH shared key.
2849
+ # @return [Types::EcdhDerivationAttributes]
2850
+ #
2785
2851
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/WrappedKeyMaterial AWS API Documentation
2786
2852
  #
2787
2853
  class WrappedKeyMaterial < Struct.new(
2788
2854
  :tr_31_key_block,
2855
+ :diffie_hellman_symmetric_key,
2789
2856
  :unknown)
2790
2857
  SENSITIVE = [:tr_31_key_block]
2791
2858
  include Aws::Structure
2792
2859
  include Aws::Structure::Union
2793
2860
 
2794
2861
  class Tr31KeyBlock < WrappedKeyMaterial; end
2862
+ class DiffieHellmanSymmetricKey < WrappedKeyMaterial; end
2795
2863
  class Unknown < WrappedKeyMaterial; end
2796
2864
  end
2797
2865
 
@@ -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.26.0'
58
+ GEM_VERSION = '1.27.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -112,7 +112,15 @@ module Aws
112
112
  },
113
113
  ?wrapped_key: {
114
114
  wrapped_key_material: {
115
- tr_31_key_block: ::String?
115
+ tr_31_key_block: ::String?,
116
+ diffie_hellman_symmetric_key: {
117
+ certificate_authority_public_key_identifier: ::String,
118
+ public_key_certificate: ::String,
119
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
120
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
121
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
122
+ shared_information: ::String
123
+ }?
116
124
  },
117
125
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
118
126
  }
@@ -156,7 +164,15 @@ module Aws
156
164
  },
157
165
  ?wrapped_key: {
158
166
  wrapped_key_material: {
159
- tr_31_key_block: ::String?
167
+ tr_31_key_block: ::String?,
168
+ diffie_hellman_symmetric_key: {
169
+ certificate_authority_public_key_identifier: ::String,
170
+ public_key_certificate: ::String,
171
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
172
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
173
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
174
+ shared_information: ::String
175
+ }?
160
176
  },
161
177
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
162
178
  }
@@ -366,7 +382,21 @@ module Aws
366
382
  },
367
383
  ?pin_data_length: ::Integer,
368
384
  primary_account_number: ::String,
369
- pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3")
385
+ pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
386
+ ?encryption_wrapped_key: {
387
+ wrapped_key_material: {
388
+ tr_31_key_block: ::String?,
389
+ diffie_hellman_symmetric_key: {
390
+ certificate_authority_public_key_identifier: ::String,
391
+ public_key_certificate: ::String,
392
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
393
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
394
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
395
+ shared_information: ::String
396
+ }?
397
+ },
398
+ key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
399
+ }
370
400
  ) -> _GeneratePinDataResponseSuccess
371
401
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GeneratePinDataResponseSuccess
372
402
 
@@ -411,13 +441,29 @@ module Aws
411
441
  },
412
442
  ?incoming_wrapped_key: {
413
443
  wrapped_key_material: {
414
- tr_31_key_block: ::String?
444
+ tr_31_key_block: ::String?,
445
+ diffie_hellman_symmetric_key: {
446
+ certificate_authority_public_key_identifier: ::String,
447
+ public_key_certificate: ::String,
448
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
449
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
450
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
451
+ shared_information: ::String
452
+ }?
415
453
  },
416
454
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
417
455
  },
418
456
  ?outgoing_wrapped_key: {
419
457
  wrapped_key_material: {
420
- tr_31_key_block: ::String?
458
+ tr_31_key_block: ::String?,
459
+ diffie_hellman_symmetric_key: {
460
+ certificate_authority_public_key_identifier: ::String,
461
+ public_key_certificate: ::String,
462
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
463
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
464
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
465
+ shared_information: ::String
466
+ }?
421
467
  },
422
468
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
423
469
  }
@@ -473,13 +519,29 @@ module Aws
473
519
  },
474
520
  ?incoming_wrapped_key: {
475
521
  wrapped_key_material: {
476
- tr_31_key_block: ::String?
522
+ tr_31_key_block: ::String?,
523
+ diffie_hellman_symmetric_key: {
524
+ certificate_authority_public_key_identifier: ::String,
525
+ public_key_certificate: ::String,
526
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
527
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
528
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
529
+ shared_information: ::String
530
+ }?
477
531
  },
478
532
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
479
533
  },
480
534
  ?outgoing_wrapped_key: {
481
535
  wrapped_key_material: {
482
- tr_31_key_block: ::String?
536
+ tr_31_key_block: ::String?,
537
+ diffie_hellman_symmetric_key: {
538
+ certificate_authority_public_key_identifier: ::String,
539
+ public_key_certificate: ::String,
540
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
541
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
542
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
543
+ shared_information: ::String
544
+ }?
483
545
  },
484
546
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
485
547
  }
@@ -654,11 +716,25 @@ module Aws
654
716
  },
655
717
  encrypted_pin_block: ::String,
656
718
  primary_account_number: ::String,
657
- pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3"),
719
+ pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
658
720
  ?pin_data_length: ::Integer,
659
721
  ?dukpt_attributes: {
660
722
  key_serial_number: ::String,
661
723
  dukpt_derivation_type: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256")
724
+ },
725
+ ?encryption_wrapped_key: {
726
+ wrapped_key_material: {
727
+ tr_31_key_block: ::String?,
728
+ diffie_hellman_symmetric_key: {
729
+ certificate_authority_public_key_identifier: ::String,
730
+ public_key_certificate: ::String,
731
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
732
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
733
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
734
+ shared_information: ::String
735
+ }?
736
+ },
737
+ key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
662
738
  }
663
739
  ) -> _VerifyPinDataResponseSuccess
664
740
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _VerifyPinDataResponseSuccess
data/sig/types.rbs CHANGED
@@ -232,6 +232,16 @@ module Aws::PaymentCryptographyData
232
232
  SENSITIVE: [:card_expiry_date, :service_code]
233
233
  end
234
234
 
235
+ class EcdhDerivationAttributes
236
+ attr_accessor certificate_authority_public_key_identifier: ::String
237
+ attr_accessor public_key_certificate: ::String
238
+ attr_accessor key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256")
239
+ attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
240
+ attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
241
+ attr_accessor shared_information: ::String
242
+ SENSITIVE: [:public_key_certificate]
243
+ end
244
+
235
245
  class Emv2000Attributes
236
246
  attr_accessor major_key_derivation_mode: ("EMV_OPTION_A" | "EMV_OPTION_B")
237
247
  attr_accessor primary_account_number: ::String
@@ -356,7 +366,8 @@ module Aws::PaymentCryptographyData
356
366
  attr_accessor generation_attributes: Types::PinGenerationAttributes
357
367
  attr_accessor pin_data_length: ::Integer
358
368
  attr_accessor primary_account_number: ::String
359
- attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3")
369
+ attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
370
+ attr_accessor encryption_wrapped_key: Types::WrappedKey
360
371
  SENSITIVE: [:primary_account_number]
361
372
  end
362
373
 
@@ -752,9 +763,10 @@ module Aws::PaymentCryptographyData
752
763
  attr_accessor verification_attributes: Types::PinVerificationAttributes
753
764
  attr_accessor encrypted_pin_block: ::String
754
765
  attr_accessor primary_account_number: ::String
755
- attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3")
766
+ attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
756
767
  attr_accessor pin_data_length: ::Integer
757
768
  attr_accessor dukpt_attributes: Types::DukptAttributes
769
+ attr_accessor encryption_wrapped_key: Types::WrappedKey
758
770
  SENSITIVE: [:encrypted_pin_block, :primary_account_number]
759
771
  end
760
772
 
@@ -809,11 +821,14 @@ module Aws::PaymentCryptographyData
809
821
 
810
822
  class WrappedKeyMaterial
811
823
  attr_accessor tr_31_key_block: ::String
824
+ attr_accessor diffie_hellman_symmetric_key: Types::EcdhDerivationAttributes
812
825
  attr_accessor unknown: untyped
813
826
  SENSITIVE: [:tr_31_key_block]
814
827
 
815
828
  class Tr31KeyBlock < WrappedKeyMaterial
816
829
  end
830
+ class DiffieHellmanSymmetricKey < WrappedKeyMaterial
831
+ end
817
832
  class Unknown < WrappedKeyMaterial
818
833
  end
819
834
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-paymentcryptographydata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.26.0
4
+ version: 1.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-21 00:00:00.000000000 Z
11
+ date: 2024-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core