aws-sdk-paymentcryptographydata 1.26.0 → 1.28.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: 5d46d00f77474eae1d7932db3c338c473d4294dff1bcdfed5450c9d3e66f0edd
4
+ data.tar.gz: ea3214aa2295fafc2025c3dac191aa864545e4dfa1e0deab80760554be926e61
5
5
  SHA512:
6
- metadata.gz: f375a68479f99dacda79e012106a115b94c0c7923834f570cd240b617b134c1b694430e76a8dba737af87c4431487cf49caaf2e68c84e98d86575b174466d7d8
7
- data.tar.gz: d178f47a8b714d683ef5e68644f363209799bcc3245b13b3b367d7577eaf7a279ca354019f0d5577d20750b85f9fe70af70cbc1c965db298baf23f8d7f8702c8
6
+ metadata.gz: fb3827cc4c9a01eb13f3953c86943c8d710f06137181b7e5917690255b3b6cff555ca809499fa7df51b40344cf22353b7ab22c782f6db3ad1c06b12abb68d176
7
+ data.tar.gz: 78ccd6e6f9feefacc3a8f3bd759e2f8ac783ea10791d7981255482685dcab16465333ed43aa866df039cf5463ea6acc528fcd771327481ab5fcf1e0afd567a96
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.28.0 (2025-01-15)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.27.0 (2024-10-23)
10
+ ------------------
11
+
12
+ * Feature - Add ECDH support on PIN operations.
13
+
4
14
  1.26.0 (2024-10-21)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.26.0
1
+ 1.28.0
@@ -257,11 +257,34 @@ module Aws::PaymentCryptographyData
257
257
  # Used when loading credentials from the shared credentials file
258
258
  # at HOME/.aws/credentials. When not specified, 'default' is used.
259
259
  #
260
+ # @option options [String] :request_checksum_calculation ("when_supported")
261
+ # Determines when a checksum will be calculated for request payloads. Values are:
262
+ #
263
+ # * `when_supported` - (default) When set, a checksum will be
264
+ # calculated for all request payloads of operations modeled with the
265
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
266
+ # `requestAlgorithmMember` is modeled.
267
+ # * `when_required` - When set, a checksum will only be calculated for
268
+ # request payloads of operations modeled with the `httpChecksum` trait where
269
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
270
+ # is modeled and supplied.
271
+ #
260
272
  # @option options [Integer] :request_min_compression_size_bytes (10240)
261
273
  # The minimum size in bytes that triggers compression for request
262
274
  # bodies. The value must be non-negative integer value between 0
263
275
  # and 10485780 bytes inclusive.
264
276
  #
277
+ # @option options [String] :response_checksum_validation ("when_supported")
278
+ # Determines when checksum validation will be performed on response payloads. Values are:
279
+ #
280
+ # * `when_supported` - (default) When set, checksum validation is performed on all
281
+ # response payloads of operations modeled with the `httpChecksum` trait where
282
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
283
+ # are supported.
284
+ # * `when_required` - When set, checksum validation is not performed on
285
+ # response payloads of operations unless the checksum algorithm is supported and
286
+ # the `requestValidationModeMember` member is set to `ENABLED`.
287
+ #
265
288
  # @option options [Proc] :retry_backoff
266
289
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
267
290
  # This option is only used in the `legacy` retry mode.
@@ -566,6 +589,14 @@ module Aws::PaymentCryptographyData
566
589
  # wrapped_key: {
567
590
  # wrapped_key_material: { # required
568
591
  # tr_31_key_block: "Tr31WrappedKeyBlock",
592
+ # diffie_hellman_symmetric_key: {
593
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
594
+ # public_key_certificate: "CertificateType", # required
595
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
596
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
597
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
598
+ # shared_information: "SharedInformation", # required
599
+ # },
569
600
  # },
570
601
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
571
602
  # },
@@ -726,6 +757,14 @@ module Aws::PaymentCryptographyData
726
757
  # wrapped_key: {
727
758
  # wrapped_key_material: { # required
728
759
  # tr_31_key_block: "Tr31WrappedKeyBlock",
760
+ # diffie_hellman_symmetric_key: {
761
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
762
+ # public_key_certificate: "CertificateType", # required
763
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
764
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
765
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
766
+ # shared_information: "SharedInformation", # required
767
+ # },
729
768
  # },
730
769
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
731
770
  # },
@@ -1148,9 +1187,18 @@ module Aws::PaymentCryptographyData
1148
1187
  # Cryptography. This operation uses a separate Pin Verification Key
1149
1188
  # (PVK) for VISA PVV generation.
1150
1189
  #
1190
+ # Using ECDH key exchange, you can receive cardholder selectable PINs
1191
+ # into Amazon Web Services Payment Cryptography. The ECDH derived key
1192
+ # protects the incoming PIN block. You can also use it for reveal PIN,
1193
+ # wherein the generated PIN block is protected by the ECDH derived key
1194
+ # before transmission from Amazon Web Services Payment Cryptography. For
1195
+ # more information on establishing ECDH derived keys, see the
1196
+ # [Generating keys][2] in the *Amazon Web Services Payment Cryptography
1197
+ # User Guide*.
1198
+ #
1151
1199
  # 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
1200
+ # [Understanding key attributes][3] and [Key types for specific data
1201
+ # operations][4] in the *Amazon Web Services Payment Cryptography User
1154
1202
  # Guide*.
1155
1203
  #
1156
1204
  # **Cross-account use**: This operation can't be used across different
@@ -1167,8 +1215,9 @@ module Aws::PaymentCryptographyData
1167
1215
  #
1168
1216
  #
1169
1217
  # [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
1218
+ # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html
1219
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1220
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1172
1221
  #
1173
1222
  # @option params [required, String] :generation_key_identifier
1174
1223
  # The `keyARN` of the PEK that Amazon Web Services Payment Cryptography
@@ -1176,7 +1225,8 @@ module Aws::PaymentCryptographyData
1176
1225
  #
1177
1226
  # @option params [required, String] :encryption_key_identifier
1178
1227
  # The `keyARN` of the PEK that Amazon Web Services Payment Cryptography
1179
- # uses to encrypt the PIN Block.
1228
+ # uses to encrypt the PIN Block. For ECDH, it is the `keyARN` of the
1229
+ # asymmetric ECC key.
1180
1230
  #
1181
1231
  # @option params [required, Types::PinGenerationAttributes] :generation_attributes
1182
1232
  # The attributes and values to use for PIN, PVV, or PIN Offset
@@ -1202,6 +1252,10 @@ module Aws::PaymentCryptographyData
1202
1252
  # The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
1203
1253
  # except that the fill digits are random values from 10 to 15.
1204
1254
  #
1255
+ # @option params [Types::WrappedKey] :encryption_wrapped_key
1256
+ # Parameter information of a WrappedKeyBlock for encryption key
1257
+ # exchange.
1258
+ #
1205
1259
  # @return [Types::GeneratePinDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1206
1260
  #
1207
1261
  # * {Types::GeneratePinDataOutput#generation_key_arn #generation_key_arn} => String
@@ -1249,7 +1303,21 @@ module Aws::PaymentCryptographyData
1249
1303
  # },
1250
1304
  # pin_data_length: 1,
1251
1305
  # primary_account_number: "PrimaryAccountNumberType", # required
1252
- # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3
1306
+ # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3, ISO_FORMAT_4
1307
+ # encryption_wrapped_key: {
1308
+ # wrapped_key_material: { # required
1309
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
1310
+ # diffie_hellman_symmetric_key: {
1311
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1312
+ # public_key_certificate: "CertificateType", # required
1313
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1314
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1315
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1316
+ # shared_information: "SharedInformation", # required
1317
+ # },
1318
+ # },
1319
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1320
+ # },
1253
1321
  # })
1254
1322
  #
1255
1323
  # @example Response structure
@@ -1397,12 +1465,28 @@ module Aws::PaymentCryptographyData
1397
1465
  # incoming_wrapped_key: {
1398
1466
  # wrapped_key_material: { # required
1399
1467
  # tr_31_key_block: "Tr31WrappedKeyBlock",
1468
+ # diffie_hellman_symmetric_key: {
1469
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1470
+ # public_key_certificate: "CertificateType", # required
1471
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1472
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1473
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1474
+ # shared_information: "SharedInformation", # required
1475
+ # },
1400
1476
  # },
1401
1477
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1402
1478
  # },
1403
1479
  # outgoing_wrapped_key: {
1404
1480
  # wrapped_key_material: { # required
1405
1481
  # tr_31_key_block: "Tr31WrappedKeyBlock",
1482
+ # diffie_hellman_symmetric_key: {
1483
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1484
+ # public_key_certificate: "CertificateType", # required
1485
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1486
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1487
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1488
+ # shared_information: "SharedInformation", # required
1489
+ # },
1406
1490
  # },
1407
1491
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1408
1492
  # },
@@ -1427,24 +1511,36 @@ module Aws::PaymentCryptographyData
1427
1511
  # For more information, see [Translate PIN data][1] in the *Amazon Web
1428
1512
  # Services Payment Cryptography User Guide*.
1429
1513
  #
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.
1514
+ # PIN block translation involves changing a PIN block from one
1515
+ # encryption key to another and optionally change its format. PIN block
1516
+ # translation occurs entirely within the HSM boundary and PIN data never
1517
+ # enters or leaves Amazon Web Services Payment Cryptography in clear
1518
+ # text. The encryption key transformation can be from PEK (Pin
1519
+ # Encryption Key) to BDK (Base Derivation Key) for DUKPT or from BDK for
1520
+ # DUKPT to PEK.
1521
+ #
1522
+ # Amazon Web Services Payment Cryptography also supports use of dynamic
1523
+ # keys and ECDH (Elliptic Curve Diffie-Hellman) based key exchange for
1524
+ # this operation.
1525
+ #
1526
+ # Dynamic keys allow you to pass a PEK as a TR-31 WrappedKeyBlock. They
1527
+ # can be used when key material is frequently rotated, such as during
1528
+ # every card transaction, and there is need to avoid importing
1529
+ # short-lived keys into Amazon Web Services Payment Cryptography. To
1530
+ # translate PIN block using dynamic keys, the `keyARN` is the Key
1531
+ # Encryption Key (KEK) of the TR-31 wrapped PEK. The incoming wrapped
1532
+ # key shall have a key purpose of P0 with a mode of use of B or D. For
1533
+ # more information, see [Using Dynamic Keys][2] in the *Amazon Web
1534
+ # Services Payment Cryptography User Guide*.
1438
1535
  #
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*.
1536
+ # Using ECDH key exchange, you can receive cardholder selectable PINs
1537
+ # into Amazon Web Services Payment Cryptography. The ECDH derived key
1538
+ # protects the incoming PIN block, which is translated to a PEK
1539
+ # encrypted PIN block for use within the service. You can also use ECDH
1540
+ # for reveal PIN, wherein the service translates the PIN block from PEK
1541
+ # to a ECDH derived encryption key. For more information on establishing
1542
+ # ECDH derived keys, see the [Generating keys][3] in the *Amazon Web
1543
+ # Services Payment Cryptography User Guide*.
1448
1544
  #
1449
1545
  # The allowed combinations of PIN block format translations are guided
1450
1546
  # by PCI. It is important to note that not all encrypted PIN block
@@ -1454,8 +1550,8 @@ module Aws::PaymentCryptographyData
1454
1550
  # not require a PAN for generation.
1455
1551
  #
1456
1552
  # 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
1553
+ # [Understanding key attributes][4] and [Key types for specific data
1554
+ # operations][5] in the *Amazon Web Services Payment Cryptography User
1459
1555
  # Guide*.
1460
1556
  #
1461
1557
  # <note markdown="1"> Amazon Web Services Payment Cryptography currently supports ISO PIN
@@ -1477,21 +1573,23 @@ module Aws::PaymentCryptographyData
1477
1573
  #
1478
1574
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/translate-pin-data.html
1479
1575
  # [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
1576
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html
1577
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1578
+ # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1482
1579
  #
1483
1580
  # @option params [required, String] :incoming_key_identifier
1484
1581
  # The `keyARN` of the encryption key under which incoming PIN block data
1485
1582
  # is encrypted. This key type can be PEK or BDK.
1486
1583
  #
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.
1584
+ # For dynamic keys, it is the `keyARN` of KEK of the TR-31 wrapped PEK.
1585
+ # For ECDH, it is the `keyARN` of the asymmetric ECC key.
1490
1586
  #
1491
1587
  # @option params [required, String] :outgoing_key_identifier
1492
1588
  # The `keyARN` of the encryption key for encrypting outgoing PIN block
1493
1589
  # data. This key type can be PEK or BDK.
1494
1590
  #
1591
+ # For ECDH, it is the `keyARN` of the asymmetric ECC key.
1592
+ #
1495
1593
  # @option params [required, Types::TranslationIsoFormats] :incoming_translation_attributes
1496
1594
  # The format of the incoming PIN block data for translation within
1497
1595
  # Amazon Web Services Payment Cryptography.
@@ -1571,12 +1669,28 @@ module Aws::PaymentCryptographyData
1571
1669
  # incoming_wrapped_key: {
1572
1670
  # wrapped_key_material: { # required
1573
1671
  # tr_31_key_block: "Tr31WrappedKeyBlock",
1672
+ # diffie_hellman_symmetric_key: {
1673
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1674
+ # public_key_certificate: "CertificateType", # required
1675
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1676
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1677
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1678
+ # shared_information: "SharedInformation", # required
1679
+ # },
1574
1680
  # },
1575
1681
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1576
1682
  # },
1577
1683
  # outgoing_wrapped_key: {
1578
1684
  # wrapped_key_material: { # required
1579
1685
  # tr_31_key_block: "Tr31WrappedKeyBlock",
1686
+ # diffie_hellman_symmetric_key: {
1687
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1688
+ # public_key_certificate: "CertificateType", # required
1689
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1690
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1691
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1692
+ # shared_information: "SharedInformation", # required
1693
+ # },
1580
1694
  # },
1581
1695
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1582
1696
  # },
@@ -2022,6 +2136,10 @@ module Aws::PaymentCryptographyData
2022
2136
  # @option params [Types::DukptAttributes] :dukpt_attributes
2023
2137
  # The attributes and values for the DUKPT encrypted PIN block data.
2024
2138
  #
2139
+ # @option params [Types::WrappedKey] :encryption_wrapped_key
2140
+ # Parameter information of a WrappedKeyBlock for encryption key
2141
+ # exchange.
2142
+ #
2025
2143
  # @return [Types::VerifyPinDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2026
2144
  #
2027
2145
  # * {Types::VerifyPinDataOutput#verification_key_arn #verification_key_arn} => String
@@ -2048,12 +2166,26 @@ module Aws::PaymentCryptographyData
2048
2166
  # },
2049
2167
  # encrypted_pin_block: "EncryptedPinBlockType", # required
2050
2168
  # primary_account_number: "PrimaryAccountNumberType", # required
2051
- # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3
2169
+ # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3, ISO_FORMAT_4
2052
2170
  # pin_data_length: 1,
2053
2171
  # dukpt_attributes: {
2054
2172
  # key_serial_number: "HexLengthBetween10And24", # required
2055
2173
  # dukpt_derivation_type: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
2056
2174
  # },
2175
+ # encryption_wrapped_key: {
2176
+ # wrapped_key_material: { # required
2177
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
2178
+ # diffie_hellman_symmetric_key: {
2179
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
2180
+ # public_key_certificate: "CertificateType", # required
2181
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
2182
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
2183
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
2184
+ # shared_information: "SharedInformation", # required
2185
+ # },
2186
+ # },
2187
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
2188
+ # },
2057
2189
  # })
2058
2190
  #
2059
2191
  # @example Response structure
@@ -2090,7 +2222,7 @@ module Aws::PaymentCryptographyData
2090
2222
  tracer: tracer
2091
2223
  )
2092
2224
  context[:gem_name] = 'aws-sdk-paymentcryptographydata'
2093
- context[:gem_version] = '1.26.0'
2225
+ context[:gem_version] = '1.28.0'
2094
2226
  Seahorse::Client::Request.new(handlers, context)
2095
2227
  end
2096
2228
 
@@ -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.28.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -39,7 +39,9 @@ module Aws
39
39
  ?logger: untyped,
40
40
  ?max_attempts: Integer,
41
41
  ?profile: String,
42
+ ?request_checksum_calculation: String,
42
43
  ?request_min_compression_size_bytes: Integer,
44
+ ?response_checksum_validation: String,
43
45
  ?retry_backoff: Proc,
44
46
  ?retry_base_delay: Float,
45
47
  ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
@@ -112,7 +114,15 @@ module Aws
112
114
  },
113
115
  ?wrapped_key: {
114
116
  wrapped_key_material: {
115
- tr_31_key_block: ::String?
117
+ tr_31_key_block: ::String?,
118
+ diffie_hellman_symmetric_key: {
119
+ certificate_authority_public_key_identifier: ::String,
120
+ public_key_certificate: ::String,
121
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
122
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
123
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
124
+ shared_information: ::String
125
+ }?
116
126
  },
117
127
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
118
128
  }
@@ -156,7 +166,15 @@ module Aws
156
166
  },
157
167
  ?wrapped_key: {
158
168
  wrapped_key_material: {
159
- tr_31_key_block: ::String?
169
+ tr_31_key_block: ::String?,
170
+ diffie_hellman_symmetric_key: {
171
+ certificate_authority_public_key_identifier: ::String,
172
+ public_key_certificate: ::String,
173
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
174
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
175
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
176
+ shared_information: ::String
177
+ }?
160
178
  },
161
179
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
162
180
  }
@@ -366,7 +384,21 @@ module Aws
366
384
  },
367
385
  ?pin_data_length: ::Integer,
368
386
  primary_account_number: ::String,
369
- pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3")
387
+ pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
388
+ ?encryption_wrapped_key: {
389
+ wrapped_key_material: {
390
+ tr_31_key_block: ::String?,
391
+ diffie_hellman_symmetric_key: {
392
+ certificate_authority_public_key_identifier: ::String,
393
+ public_key_certificate: ::String,
394
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
395
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
396
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
397
+ shared_information: ::String
398
+ }?
399
+ },
400
+ key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
401
+ }
370
402
  ) -> _GeneratePinDataResponseSuccess
371
403
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GeneratePinDataResponseSuccess
372
404
 
@@ -411,13 +443,29 @@ module Aws
411
443
  },
412
444
  ?incoming_wrapped_key: {
413
445
  wrapped_key_material: {
414
- tr_31_key_block: ::String?
446
+ tr_31_key_block: ::String?,
447
+ diffie_hellman_symmetric_key: {
448
+ certificate_authority_public_key_identifier: ::String,
449
+ public_key_certificate: ::String,
450
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
451
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
452
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
453
+ shared_information: ::String
454
+ }?
415
455
  },
416
456
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
417
457
  },
418
458
  ?outgoing_wrapped_key: {
419
459
  wrapped_key_material: {
420
- tr_31_key_block: ::String?
460
+ tr_31_key_block: ::String?,
461
+ diffie_hellman_symmetric_key: {
462
+ certificate_authority_public_key_identifier: ::String,
463
+ public_key_certificate: ::String,
464
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
465
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
466
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
467
+ shared_information: ::String
468
+ }?
421
469
  },
422
470
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
423
471
  }
@@ -473,13 +521,29 @@ module Aws
473
521
  },
474
522
  ?incoming_wrapped_key: {
475
523
  wrapped_key_material: {
476
- tr_31_key_block: ::String?
524
+ tr_31_key_block: ::String?,
525
+ diffie_hellman_symmetric_key: {
526
+ certificate_authority_public_key_identifier: ::String,
527
+ public_key_certificate: ::String,
528
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
529
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
530
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
531
+ shared_information: ::String
532
+ }?
477
533
  },
478
534
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
479
535
  },
480
536
  ?outgoing_wrapped_key: {
481
537
  wrapped_key_material: {
482
- tr_31_key_block: ::String?
538
+ tr_31_key_block: ::String?,
539
+ diffie_hellman_symmetric_key: {
540
+ certificate_authority_public_key_identifier: ::String,
541
+ public_key_certificate: ::String,
542
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
543
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
544
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
545
+ shared_information: ::String
546
+ }?
483
547
  },
484
548
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
485
549
  }
@@ -654,11 +718,25 @@ module Aws
654
718
  },
655
719
  encrypted_pin_block: ::String,
656
720
  primary_account_number: ::String,
657
- pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3"),
721
+ pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
658
722
  ?pin_data_length: ::Integer,
659
723
  ?dukpt_attributes: {
660
724
  key_serial_number: ::String,
661
725
  dukpt_derivation_type: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256")
726
+ },
727
+ ?encryption_wrapped_key: {
728
+ wrapped_key_material: {
729
+ tr_31_key_block: ::String?,
730
+ diffie_hellman_symmetric_key: {
731
+ certificate_authority_public_key_identifier: ::String,
732
+ public_key_certificate: ::String,
733
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
734
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
735
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
736
+ shared_information: ::String
737
+ }?
738
+ },
739
+ key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
662
740
  }
663
741
  ) -> _VerifyPinDataResponseSuccess
664
742
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _VerifyPinDataResponseSuccess
data/sig/resource.rbs CHANGED
@@ -39,7 +39,9 @@ module Aws
39
39
  ?logger: untyped,
40
40
  ?max_attempts: Integer,
41
41
  ?profile: String,
42
+ ?request_checksum_calculation: String,
42
43
  ?request_min_compression_size_bytes: Integer,
44
+ ?response_checksum_validation: String,
43
45
  ?retry_backoff: Proc,
44
46
  ?retry_base_delay: Float,
45
47
  ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
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.28.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: 2025-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.210.0
22
+ version: 3.216.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.210.0
32
+ version: 3.216.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement