aws-sdk-paymentcryptographydata 1.26.0 → 1.27.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: 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