aws-sdk-paymentcryptography 1.31.0 → 1.32.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: 5b540d9ecd177c9578040a00dc7fc0cdf98fc62d79575cffcea8c536e92cbb78
4
- data.tar.gz: b47ca5518dc90629a275935216f577ae3894e3f1b66bcac2d8e8b1c260de2f21
3
+ metadata.gz: fd1d44328888d345e5cc6144e898db1538e4aa6e41aa9c633b7c9cc961910353
4
+ data.tar.gz: e80db19b298926b51036aee159e907d124e5d4c3c2279f10d4af0cdacc043873
5
5
  SHA512:
6
- metadata.gz: 5d7302b07ec37aa53a649afec87b077facfe36a41af7e2afa14d907e009d02740bccf2aa8bfc4b66af2b670567307c929249af425b0310f92c29cbd92c05217d
7
- data.tar.gz: 13fe76ce8bc5ccc16729f44337835ed8cda2b06230324833154b384166a8f96614338d3df0447f10e03eacfa816e07b2a2db12ce48901b4889499700802f40c4
6
+ metadata.gz: 7f52f79a6a463c133bec198b30a81b22f86c327010c935db2468401fa58858d2f515d4a6e6eef05a3cd20939347c97e3cbcca7f3f0933776f1d3cd0f30afda5a
7
+ data.tar.gz: 843315507d0dba8490ff3219a04445e2a0b70341e6d6e67daf1dc2bfc0688deb27187274a358e6dadf43b7655373b539549031825a2f5f7f846b35c865c3e238
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.32.0 (2025-03-28)
5
+ ------------------
6
+
7
+ * Feature - The service adds support for transferring AES-256 and other keys between the service and other service providers and HSMs. This feature uses ECDH to derive a one-time key transport key to enable these secure key exchanges.
8
+
4
9
  1.31.0 (2025-02-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.31.0
1
+ 1.32.0
@@ -647,6 +647,10 @@ module Aws::PaymentCryptography
647
647
  #
648
648
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html
649
649
  #
650
+ # @option params [String] :derive_key_usage
651
+ # The cryptographic usage of an ECDH derived key as defined in section
652
+ # A.5.2 of the TR-31 spec.
653
+ #
650
654
  # @return [Types::CreateKeyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
651
655
  #
652
656
  # * {Types::CreateKeyOutput#key #key} => Types::Key
@@ -657,7 +661,7 @@ module Aws::PaymentCryptography
657
661
  # key_attributes: { # required
658
662
  # key_usage: "TR31_B0_BASE_DERIVATION_KEY", # required, accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY, TR31_K2_TR34_ASYMMETRIC_KEY
659
663
  # key_class: "SYMMETRIC_KEY", # required, accepts SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, PRIVATE_KEY, PUBLIC_KEY
660
- # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384
664
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
661
665
  # key_modes_of_use: { # required
662
666
  # encrypt: false,
663
667
  # decrypt: false,
@@ -679,6 +683,7 @@ module Aws::PaymentCryptography
679
683
  # value: "TagValue", # required
680
684
  # },
681
685
  # ],
686
+ # derive_key_usage: "TR31_B0_BASE_DERIVATION_KEY", # accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY
682
687
  # })
683
688
  #
684
689
  # @example Response structure
@@ -686,7 +691,7 @@ module Aws::PaymentCryptography
686
691
  # resp.key.key_arn #=> String
687
692
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
688
693
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
689
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
694
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
690
695
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
691
696
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
692
697
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -707,6 +712,7 @@ module Aws::PaymentCryptography
707
712
  # resp.key.usage_stop_timestamp #=> Time
708
713
  # resp.key.delete_pending_timestamp #=> Time
709
714
  # resp.key.delete_timestamp #=> Time
715
+ # resp.key.derive_key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY"
710
716
  #
711
717
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/CreateKey AWS API Documentation
712
718
  #
@@ -828,7 +834,7 @@ module Aws::PaymentCryptography
828
834
  # resp.key.key_arn #=> String
829
835
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
830
836
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
831
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
837
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
832
838
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
833
839
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
834
840
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -849,6 +855,7 @@ module Aws::PaymentCryptography
849
855
  # resp.key.usage_stop_timestamp #=> Time
850
856
  # resp.key.delete_pending_timestamp #=> Time
851
857
  # resp.key.delete_timestamp #=> Time
858
+ # resp.key.derive_key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY"
852
859
  #
853
860
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/DeleteKey AWS API Documentation
854
861
  #
@@ -1108,6 +1115,35 @@ module Aws::PaymentCryptography
1108
1115
  # wrapping_key_certificate: "CertificateType", # required
1109
1116
  # wrapping_spec: "RSA_OAEP_SHA_256", # accepts RSA_OAEP_SHA_256, RSA_OAEP_SHA_512
1110
1117
  # },
1118
+ # diffie_hellman_tr_31_key_block: {
1119
+ # private_key_identifier: "KeyArnOrKeyAliasType", # required
1120
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1121
+ # public_key_certificate: "CertificateType", # required
1122
+ # derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1123
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1124
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1125
+ # derivation_data: { # required
1126
+ # shared_information: "SharedInformation",
1127
+ # },
1128
+ # key_block_headers: {
1129
+ # key_modes_of_use: {
1130
+ # encrypt: false,
1131
+ # decrypt: false,
1132
+ # wrap: false,
1133
+ # unwrap: false,
1134
+ # generate: false,
1135
+ # sign: false,
1136
+ # verify: false,
1137
+ # derive_key: false,
1138
+ # no_restrictions: false,
1139
+ # },
1140
+ # key_exportability: "EXPORTABLE", # accepts EXPORTABLE, NON_EXPORTABLE, SENSITIVE
1141
+ # key_version: "KeyVersion",
1142
+ # optional_blocks: {
1143
+ # "OptionalBlockId" => "OptionalBlockValue",
1144
+ # },
1145
+ # },
1146
+ # },
1111
1147
  # },
1112
1148
  # export_key_identifier: "KeyArnOrKeyAliasType", # required
1113
1149
  # export_attributes: {
@@ -1224,7 +1260,7 @@ module Aws::PaymentCryptography
1224
1260
  # resp.key.key_arn #=> String
1225
1261
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
1226
1262
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
1227
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
1263
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1228
1264
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
1229
1265
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
1230
1266
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -1245,6 +1281,7 @@ module Aws::PaymentCryptography
1245
1281
  # resp.key.usage_stop_timestamp #=> Time
1246
1282
  # resp.key.delete_pending_timestamp #=> Time
1247
1283
  # resp.key.delete_timestamp #=> Time
1284
+ # resp.key.derive_key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY"
1248
1285
  #
1249
1286
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetKey AWS API Documentation
1250
1287
  #
@@ -1301,14 +1338,14 @@ module Aws::PaymentCryptography
1301
1338
  #
1302
1339
  # resp = client.get_parameters_for_export({
1303
1340
  # key_material_type: "TR34_KEY_BLOCK", # required, accepts TR34_KEY_BLOCK, TR31_KEY_BLOCK, ROOT_PUBLIC_KEY_CERTIFICATE, TRUSTED_PUBLIC_KEY_CERTIFICATE, KEY_CRYPTOGRAM
1304
- # signing_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384
1341
+ # signing_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1305
1342
  # })
1306
1343
  #
1307
1344
  # @example Response structure
1308
1345
  #
1309
1346
  # resp.signing_key_certificate #=> String
1310
1347
  # resp.signing_key_certificate_chain #=> String
1311
- # resp.signing_key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
1348
+ # resp.signing_key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1312
1349
  # resp.export_token #=> String
1313
1350
  # resp.parameters_valid_until_timestamp #=> Time
1314
1351
  #
@@ -1375,14 +1412,14 @@ module Aws::PaymentCryptography
1375
1412
  #
1376
1413
  # resp = client.get_parameters_for_import({
1377
1414
  # key_material_type: "TR34_KEY_BLOCK", # required, accepts TR34_KEY_BLOCK, TR31_KEY_BLOCK, ROOT_PUBLIC_KEY_CERTIFICATE, TRUSTED_PUBLIC_KEY_CERTIFICATE, KEY_CRYPTOGRAM
1378
- # wrapping_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384
1415
+ # wrapping_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1379
1416
  # })
1380
1417
  #
1381
1418
  # @example Response structure
1382
1419
  #
1383
1420
  # resp.wrapping_key_certificate #=> String
1384
1421
  # resp.wrapping_key_certificate_chain #=> String
1385
- # resp.wrapping_key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
1422
+ # resp.wrapping_key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1386
1423
  # resp.import_token #=> String
1387
1424
  # resp.parameters_valid_until_timestamp #=> Time
1388
1425
  #
@@ -1468,12 +1505,6 @@ module Aws::PaymentCryptography
1468
1505
  #
1469
1506
  # **To import a public root key certificate**
1470
1507
  #
1471
- # You can also import a *root public key certificate*, used to sign
1472
- # other public key certificates, or a *trusted public key certificate*
1473
- # under an already established root public key certificate.
1474
- #
1475
- # **To import a public root key certificate**
1476
- #
1477
1508
  # Using this operation, you can import the public component (in PEM
1478
1509
  # cerificate format) of your private root key. You can use the imported
1479
1510
  # public root key certificate for digital signatures, for example
@@ -1668,7 +1699,7 @@ module Aws::PaymentCryptography
1668
1699
  # key_attributes: { # required
1669
1700
  # key_usage: "TR31_B0_BASE_DERIVATION_KEY", # required, accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY, TR31_K2_TR34_ASYMMETRIC_KEY
1670
1701
  # key_class: "SYMMETRIC_KEY", # required, accepts SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, PRIVATE_KEY, PUBLIC_KEY
1671
- # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384
1702
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1672
1703
  # key_modes_of_use: { # required
1673
1704
  # encrypt: false,
1674
1705
  # decrypt: false,
@@ -1687,7 +1718,7 @@ module Aws::PaymentCryptography
1687
1718
  # key_attributes: { # required
1688
1719
  # key_usage: "TR31_B0_BASE_DERIVATION_KEY", # required, accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY, TR31_K2_TR34_ASYMMETRIC_KEY
1689
1720
  # key_class: "SYMMETRIC_KEY", # required, accepts SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, PRIVATE_KEY, PUBLIC_KEY
1690
- # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384
1721
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1691
1722
  # key_modes_of_use: { # required
1692
1723
  # encrypt: false,
1693
1724
  # decrypt: false,
@@ -1719,7 +1750,7 @@ module Aws::PaymentCryptography
1719
1750
  # key_attributes: { # required
1720
1751
  # key_usage: "TR31_B0_BASE_DERIVATION_KEY", # required, accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY, TR31_K2_TR34_ASYMMETRIC_KEY
1721
1752
  # key_class: "SYMMETRIC_KEY", # required, accepts SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, PRIVATE_KEY, PUBLIC_KEY
1722
- # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384
1753
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1723
1754
  # key_modes_of_use: { # required
1724
1755
  # encrypt: false,
1725
1756
  # decrypt: false,
@@ -1737,6 +1768,18 @@ module Aws::PaymentCryptography
1737
1768
  # import_token: "ImportTokenId", # required
1738
1769
  # wrapping_spec: "RSA_OAEP_SHA_256", # accepts RSA_OAEP_SHA_256, RSA_OAEP_SHA_512
1739
1770
  # },
1771
+ # diffie_hellman_tr_31_key_block: {
1772
+ # private_key_identifier: "KeyArnOrKeyAliasType", # required
1773
+ # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1774
+ # public_key_certificate: "CertificateType", # required
1775
+ # derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1776
+ # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1777
+ # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1778
+ # derivation_data: { # required
1779
+ # shared_information: "SharedInformation",
1780
+ # },
1781
+ # wrapped_key_block: "Tr31WrappedKeyBlock", # required
1782
+ # },
1740
1783
  # },
1741
1784
  # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1742
1785
  # enabled: false,
@@ -1753,7 +1796,7 @@ module Aws::PaymentCryptography
1753
1796
  # resp.key.key_arn #=> String
1754
1797
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
1755
1798
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
1756
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
1799
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1757
1800
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
1758
1801
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
1759
1802
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -1774,6 +1817,7 @@ module Aws::PaymentCryptography
1774
1817
  # resp.key.usage_stop_timestamp #=> Time
1775
1818
  # resp.key.delete_pending_timestamp #=> Time
1776
1819
  # resp.key.delete_timestamp #=> Time
1820
+ # resp.key.derive_key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY"
1777
1821
  #
1778
1822
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportKey AWS API Documentation
1779
1823
  #
@@ -1931,7 +1975,7 @@ module Aws::PaymentCryptography
1931
1975
  # resp.keys[0].key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
1932
1976
  # resp.keys[0].key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
1933
1977
  # resp.keys[0].key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
1934
- # resp.keys[0].key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
1978
+ # resp.keys[0].key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1935
1979
  # resp.keys[0].key_attributes.key_modes_of_use.encrypt #=> Boolean
1936
1980
  # resp.keys[0].key_attributes.key_modes_of_use.decrypt #=> Boolean
1937
1981
  # resp.keys[0].key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -2071,7 +2115,7 @@ module Aws::PaymentCryptography
2071
2115
  # resp.key.key_arn #=> String
2072
2116
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
2073
2117
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
2074
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
2118
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2075
2119
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
2076
2120
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
2077
2121
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -2092,6 +2136,7 @@ module Aws::PaymentCryptography
2092
2136
  # resp.key.usage_stop_timestamp #=> Time
2093
2137
  # resp.key.delete_pending_timestamp #=> Time
2094
2138
  # resp.key.delete_timestamp #=> Time
2139
+ # resp.key.derive_key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY"
2095
2140
  #
2096
2141
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/RestoreKey AWS API Documentation
2097
2142
  #
@@ -2137,7 +2182,7 @@ module Aws::PaymentCryptography
2137
2182
  # resp.key.key_arn #=> String
2138
2183
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
2139
2184
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
2140
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
2185
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2141
2186
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
2142
2187
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
2143
2188
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -2158,6 +2203,7 @@ module Aws::PaymentCryptography
2158
2203
  # resp.key.usage_stop_timestamp #=> Time
2159
2204
  # resp.key.delete_pending_timestamp #=> Time
2160
2205
  # resp.key.delete_timestamp #=> Time
2206
+ # resp.key.derive_key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY"
2161
2207
  #
2162
2208
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/StartKeyUsage AWS API Documentation
2163
2209
  #
@@ -2207,7 +2253,7 @@ module Aws::PaymentCryptography
2207
2253
  # resp.key.key_arn #=> String
2208
2254
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
2209
2255
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
2210
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384"
2256
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2211
2257
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
2212
2258
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
2213
2259
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -2228,6 +2274,7 @@ module Aws::PaymentCryptography
2228
2274
  # resp.key.usage_stop_timestamp #=> Time
2229
2275
  # resp.key.delete_pending_timestamp #=> Time
2230
2276
  # resp.key.delete_timestamp #=> Time
2277
+ # resp.key.derive_key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY"
2231
2278
  #
2232
2279
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/StopKeyUsage AWS API Documentation
2233
2280
  #
@@ -2447,7 +2494,7 @@ module Aws::PaymentCryptography
2447
2494
  tracer: tracer
2448
2495
  )
2449
2496
  context[:gem_name] = 'aws-sdk-paymentcryptography'
2450
- context[:gem_version] = '1.31.0'
2497
+ context[:gem_version] = '1.32.0'
2451
2498
  Seahorse::Client::Request.new(handlers, context)
2452
2499
  end
2453
2500
 
@@ -30,8 +30,11 @@ module Aws::PaymentCryptography
30
30
  DeleteKeyInput = Shapes::StructureShape.new(name: 'DeleteKeyInput')
31
31
  DeleteKeyInputDeleteKeyInDaysInteger = Shapes::IntegerShape.new(name: 'DeleteKeyInputDeleteKeyInDaysInteger')
32
32
  DeleteKeyOutput = Shapes::StructureShape.new(name: 'DeleteKeyOutput')
33
+ DeriveKeyUsage = Shapes::StringShape.new(name: 'DeriveKeyUsage')
34
+ DiffieHellmanDerivationData = Shapes::UnionShape.new(name: 'DiffieHellmanDerivationData')
33
35
  EvenHexLengthBetween16And32 = Shapes::StringShape.new(name: 'EvenHexLengthBetween16And32')
34
36
  ExportAttributes = Shapes::StructureShape.new(name: 'ExportAttributes')
37
+ ExportDiffieHellmanTr31KeyBlock = Shapes::StructureShape.new(name: 'ExportDiffieHellmanTr31KeyBlock')
35
38
  ExportDukptInitialKey = Shapes::StructureShape.new(name: 'ExportDukptInitialKey')
36
39
  ExportKeyCryptogram = Shapes::StructureShape.new(name: 'ExportKeyCryptogram')
37
40
  ExportKeyInput = Shapes::StructureShape.new(name: 'ExportKeyInput')
@@ -51,6 +54,7 @@ module Aws::PaymentCryptography
51
54
  GetPublicKeyCertificateInput = Shapes::StructureShape.new(name: 'GetPublicKeyCertificateInput')
52
55
  GetPublicKeyCertificateOutput = Shapes::StructureShape.new(name: 'GetPublicKeyCertificateOutput')
53
56
  HexLength20Or24 = Shapes::StringShape.new(name: 'HexLength20Or24')
57
+ ImportDiffieHellmanTr31KeyBlock = Shapes::StructureShape.new(name: 'ImportDiffieHellmanTr31KeyBlock')
54
58
  ImportKeyCryptogram = Shapes::StructureShape.new(name: 'ImportKeyCryptogram')
55
59
  ImportKeyInput = Shapes::StructureShape.new(name: 'ImportKeyInput')
56
60
  ImportKeyMaterial = Shapes::UnionShape.new(name: 'ImportKeyMaterial')
@@ -68,6 +72,8 @@ module Aws::PaymentCryptography
68
72
  KeyCheckValue = Shapes::StringShape.new(name: 'KeyCheckValue')
69
73
  KeyCheckValueAlgorithm = Shapes::StringShape.new(name: 'KeyCheckValueAlgorithm')
70
74
  KeyClass = Shapes::StringShape.new(name: 'KeyClass')
75
+ KeyDerivationFunction = Shapes::StringShape.new(name: 'KeyDerivationFunction')
76
+ KeyDerivationHashAlgorithm = Shapes::StringShape.new(name: 'KeyDerivationHashAlgorithm')
71
77
  KeyExportability = Shapes::StringShape.new(name: 'KeyExportability')
72
78
  KeyMaterial = Shapes::StringShape.new(name: 'KeyMaterial')
73
79
  KeyMaterialType = Shapes::StringShape.new(name: 'KeyMaterialType')
@@ -97,11 +103,13 @@ module Aws::PaymentCryptography
97
103
  RootCertificatePublicKey = Shapes::StructureShape.new(name: 'RootCertificatePublicKey')
98
104
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
99
105
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
106
+ SharedInformation = Shapes::StringShape.new(name: 'SharedInformation')
100
107
  StartKeyUsageInput = Shapes::StructureShape.new(name: 'StartKeyUsageInput')
101
108
  StartKeyUsageOutput = Shapes::StructureShape.new(name: 'StartKeyUsageOutput')
102
109
  StopKeyUsageInput = Shapes::StructureShape.new(name: 'StopKeyUsageInput')
103
110
  StopKeyUsageOutput = Shapes::StructureShape.new(name: 'StopKeyUsageOutput')
104
111
  String = Shapes::StringShape.new(name: 'String')
112
+ SymmetricKeyAlgorithm = Shapes::StringShape.new(name: 'SymmetricKeyAlgorithm')
105
113
  Tag = Shapes::StructureShape.new(name: 'Tag')
106
114
  TagKey = Shapes::StringShape.new(name: 'TagKey')
107
115
  TagKeys = Shapes::ListShape.new(name: 'TagKeys')
@@ -149,6 +157,7 @@ module Aws::PaymentCryptography
149
157
  CreateKeyInput.add_member(:exportable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "Exportable"))
150
158
  CreateKeyInput.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
151
159
  CreateKeyInput.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
160
+ CreateKeyInput.add_member(:derive_key_usage, Shapes::ShapeRef.new(shape: DeriveKeyUsage, location_name: "DeriveKeyUsage"))
152
161
  CreateKeyInput.struct_class = Types::CreateKeyInput
153
162
 
154
163
  CreateKeyOutput.add_member(:key, Shapes::ShapeRef.new(shape: Key, required: true, location_name: "Key"))
@@ -166,10 +175,26 @@ module Aws::PaymentCryptography
166
175
  DeleteKeyOutput.add_member(:key, Shapes::ShapeRef.new(shape: Key, required: true, location_name: "Key"))
167
176
  DeleteKeyOutput.struct_class = Types::DeleteKeyOutput
168
177
 
178
+ DiffieHellmanDerivationData.add_member(:shared_information, Shapes::ShapeRef.new(shape: SharedInformation, location_name: "SharedInformation"))
179
+ DiffieHellmanDerivationData.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
180
+ DiffieHellmanDerivationData.add_member_subclass(:shared_information, Types::DiffieHellmanDerivationData::SharedInformation)
181
+ DiffieHellmanDerivationData.add_member_subclass(:unknown, Types::DiffieHellmanDerivationData::Unknown)
182
+ DiffieHellmanDerivationData.struct_class = Types::DiffieHellmanDerivationData
183
+
169
184
  ExportAttributes.add_member(:export_dukpt_initial_key, Shapes::ShapeRef.new(shape: ExportDukptInitialKey, location_name: "ExportDukptInitialKey"))
170
185
  ExportAttributes.add_member(:key_check_value_algorithm, Shapes::ShapeRef.new(shape: KeyCheckValueAlgorithm, location_name: "KeyCheckValueAlgorithm"))
171
186
  ExportAttributes.struct_class = Types::ExportAttributes
172
187
 
188
+ ExportDiffieHellmanTr31KeyBlock.add_member(:private_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "PrivateKeyIdentifier"))
189
+ ExportDiffieHellmanTr31KeyBlock.add_member(:certificate_authority_public_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "CertificateAuthorityPublicKeyIdentifier"))
190
+ ExportDiffieHellmanTr31KeyBlock.add_member(:public_key_certificate, Shapes::ShapeRef.new(shape: CertificateType, required: true, location_name: "PublicKeyCertificate"))
191
+ ExportDiffieHellmanTr31KeyBlock.add_member(:derive_key_algorithm, Shapes::ShapeRef.new(shape: SymmetricKeyAlgorithm, required: true, location_name: "DeriveKeyAlgorithm"))
192
+ ExportDiffieHellmanTr31KeyBlock.add_member(:key_derivation_function, Shapes::ShapeRef.new(shape: KeyDerivationFunction, required: true, location_name: "KeyDerivationFunction"))
193
+ ExportDiffieHellmanTr31KeyBlock.add_member(:key_derivation_hash_algorithm, Shapes::ShapeRef.new(shape: KeyDerivationHashAlgorithm, required: true, location_name: "KeyDerivationHashAlgorithm"))
194
+ ExportDiffieHellmanTr31KeyBlock.add_member(:derivation_data, Shapes::ShapeRef.new(shape: DiffieHellmanDerivationData, required: true, location_name: "DerivationData"))
195
+ ExportDiffieHellmanTr31KeyBlock.add_member(:key_block_headers, Shapes::ShapeRef.new(shape: KeyBlockHeaders, location_name: "KeyBlockHeaders"))
196
+ ExportDiffieHellmanTr31KeyBlock.struct_class = Types::ExportDiffieHellmanTr31KeyBlock
197
+
173
198
  ExportDukptInitialKey.add_member(:key_serial_number, Shapes::ShapeRef.new(shape: HexLength20Or24, required: true, location_name: "KeySerialNumber"))
174
199
  ExportDukptInitialKey.struct_class = Types::ExportDukptInitialKey
175
200
 
@@ -186,10 +211,12 @@ module Aws::PaymentCryptography
186
211
  ExportKeyMaterial.add_member(:tr_31_key_block, Shapes::ShapeRef.new(shape: ExportTr31KeyBlock, location_name: "Tr31KeyBlock"))
187
212
  ExportKeyMaterial.add_member(:tr_34_key_block, Shapes::ShapeRef.new(shape: ExportTr34KeyBlock, location_name: "Tr34KeyBlock"))
188
213
  ExportKeyMaterial.add_member(:key_cryptogram, Shapes::ShapeRef.new(shape: ExportKeyCryptogram, location_name: "KeyCryptogram"))
214
+ ExportKeyMaterial.add_member(:diffie_hellman_tr_31_key_block, Shapes::ShapeRef.new(shape: ExportDiffieHellmanTr31KeyBlock, location_name: "DiffieHellmanTr31KeyBlock"))
189
215
  ExportKeyMaterial.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
190
216
  ExportKeyMaterial.add_member_subclass(:tr_31_key_block, Types::ExportKeyMaterial::Tr31KeyBlock)
191
217
  ExportKeyMaterial.add_member_subclass(:tr_34_key_block, Types::ExportKeyMaterial::Tr34KeyBlock)
192
218
  ExportKeyMaterial.add_member_subclass(:key_cryptogram, Types::ExportKeyMaterial::KeyCryptogram)
219
+ ExportKeyMaterial.add_member_subclass(:diffie_hellman_tr_31_key_block, Types::ExportKeyMaterial::DiffieHellmanTr31KeyBlock)
193
220
  ExportKeyMaterial.add_member_subclass(:unknown, Types::ExportKeyMaterial::Unknown)
194
221
  ExportKeyMaterial.struct_class = Types::ExportKeyMaterial
195
222
 
@@ -249,6 +276,16 @@ module Aws::PaymentCryptography
249
276
  GetPublicKeyCertificateOutput.add_member(:key_certificate_chain, Shapes::ShapeRef.new(shape: CertificateType, required: true, location_name: "KeyCertificateChain"))
250
277
  GetPublicKeyCertificateOutput.struct_class = Types::GetPublicKeyCertificateOutput
251
278
 
279
+ ImportDiffieHellmanTr31KeyBlock.add_member(:private_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "PrivateKeyIdentifier"))
280
+ ImportDiffieHellmanTr31KeyBlock.add_member(:certificate_authority_public_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "CertificateAuthorityPublicKeyIdentifier"))
281
+ ImportDiffieHellmanTr31KeyBlock.add_member(:public_key_certificate, Shapes::ShapeRef.new(shape: CertificateType, required: true, location_name: "PublicKeyCertificate"))
282
+ ImportDiffieHellmanTr31KeyBlock.add_member(:derive_key_algorithm, Shapes::ShapeRef.new(shape: SymmetricKeyAlgorithm, required: true, location_name: "DeriveKeyAlgorithm"))
283
+ ImportDiffieHellmanTr31KeyBlock.add_member(:key_derivation_function, Shapes::ShapeRef.new(shape: KeyDerivationFunction, required: true, location_name: "KeyDerivationFunction"))
284
+ ImportDiffieHellmanTr31KeyBlock.add_member(:key_derivation_hash_algorithm, Shapes::ShapeRef.new(shape: KeyDerivationHashAlgorithm, required: true, location_name: "KeyDerivationHashAlgorithm"))
285
+ ImportDiffieHellmanTr31KeyBlock.add_member(:derivation_data, Shapes::ShapeRef.new(shape: DiffieHellmanDerivationData, required: true, location_name: "DerivationData"))
286
+ ImportDiffieHellmanTr31KeyBlock.add_member(:wrapped_key_block, Shapes::ShapeRef.new(shape: Tr31WrappedKeyBlock, required: true, location_name: "WrappedKeyBlock"))
287
+ ImportDiffieHellmanTr31KeyBlock.struct_class = Types::ImportDiffieHellmanTr31KeyBlock
288
+
252
289
  ImportKeyCryptogram.add_member(:key_attributes, Shapes::ShapeRef.new(shape: KeyAttributes, required: true, location_name: "KeyAttributes"))
253
290
  ImportKeyCryptogram.add_member(:exportable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "Exportable"))
254
291
  ImportKeyCryptogram.add_member(:wrapped_key_cryptogram, Shapes::ShapeRef.new(shape: WrappedKeyCryptogram, required: true, location_name: "WrappedKeyCryptogram"))
@@ -267,12 +304,14 @@ module Aws::PaymentCryptography
267
304
  ImportKeyMaterial.add_member(:tr_31_key_block, Shapes::ShapeRef.new(shape: ImportTr31KeyBlock, location_name: "Tr31KeyBlock"))
268
305
  ImportKeyMaterial.add_member(:tr_34_key_block, Shapes::ShapeRef.new(shape: ImportTr34KeyBlock, location_name: "Tr34KeyBlock"))
269
306
  ImportKeyMaterial.add_member(:key_cryptogram, Shapes::ShapeRef.new(shape: ImportKeyCryptogram, location_name: "KeyCryptogram"))
307
+ ImportKeyMaterial.add_member(:diffie_hellman_tr_31_key_block, Shapes::ShapeRef.new(shape: ImportDiffieHellmanTr31KeyBlock, location_name: "DiffieHellmanTr31KeyBlock"))
270
308
  ImportKeyMaterial.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
271
309
  ImportKeyMaterial.add_member_subclass(:root_certificate_public_key, Types::ImportKeyMaterial::RootCertificatePublicKey)
272
310
  ImportKeyMaterial.add_member_subclass(:trusted_certificate_public_key, Types::ImportKeyMaterial::TrustedCertificatePublicKey)
273
311
  ImportKeyMaterial.add_member_subclass(:tr_31_key_block, Types::ImportKeyMaterial::Tr31KeyBlock)
274
312
  ImportKeyMaterial.add_member_subclass(:tr_34_key_block, Types::ImportKeyMaterial::Tr34KeyBlock)
275
313
  ImportKeyMaterial.add_member_subclass(:key_cryptogram, Types::ImportKeyMaterial::KeyCryptogram)
314
+ ImportKeyMaterial.add_member_subclass(:diffie_hellman_tr_31_key_block, Types::ImportKeyMaterial::DiffieHellmanTr31KeyBlock)
276
315
  ImportKeyMaterial.add_member_subclass(:unknown, Types::ImportKeyMaterial::Unknown)
277
316
  ImportKeyMaterial.struct_class = Types::ImportKeyMaterial
278
317
 
@@ -307,6 +346,7 @@ module Aws::PaymentCryptography
307
346
  Key.add_member(:usage_stop_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UsageStopTimestamp"))
308
347
  Key.add_member(:delete_pending_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DeletePendingTimestamp"))
309
348
  Key.add_member(:delete_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DeleteTimestamp"))
349
+ Key.add_member(:derive_key_usage, Shapes::ShapeRef.new(shape: DeriveKeyUsage, location_name: "DeriveKeyUsage"))
310
350
  Key.struct_class = Types::Key
311
351
 
312
352
  KeyAttributes.add_member(:key_usage, Shapes::ShapeRef.new(shape: KeyUsage, required: true, location_name: "KeyUsage"))
@@ -150,6 +150,11 @@ module Aws::PaymentCryptography
150
150
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html
151
151
  # @return [Array<Types::Tag>]
152
152
  #
153
+ # @!attribute [rw] derive_key_usage
154
+ # The cryptographic usage of an ECDH derived key as defined in section
155
+ # A.5.2 of the TR-31 spec.
156
+ # @return [String]
157
+ #
153
158
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/CreateKeyInput AWS API Documentation
154
159
  #
155
160
  class CreateKeyInput < Struct.new(
@@ -157,7 +162,8 @@ module Aws::PaymentCryptography
157
162
  :key_check_value_algorithm,
158
163
  :exportable,
159
164
  :enabled,
160
- :tags)
165
+ :tags,
166
+ :derive_key_usage)
161
167
  SENSITIVE = []
162
168
  include Aws::Structure
163
169
  end
@@ -222,6 +228,33 @@ module Aws::PaymentCryptography
222
228
  include Aws::Structure
223
229
  end
224
230
 
231
+ # Derivation data used to derive an ECDH key.
232
+ #
233
+ # @note DiffieHellmanDerivationData is a union - when making an API calls you must set exactly one of the members.
234
+ #
235
+ # @!attribute [rw] shared_information
236
+ # A byte string containing information that binds the ECDH derived key
237
+ # to the two parties involved or to the context of the key.
238
+ #
239
+ # It may include details like identities of the two parties deriving
240
+ # the key, context of the operation, session IDs, and optionally a
241
+ # nonce. It must not contain zero bytes, and re-using shared
242
+ # information for multiple ECDH key derivations is not recommended.
243
+ # @return [String]
244
+ #
245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/DiffieHellmanDerivationData AWS API Documentation
246
+ #
247
+ class DiffieHellmanDerivationData < Struct.new(
248
+ :shared_information,
249
+ :unknown)
250
+ SENSITIVE = []
251
+ include Aws::Structure
252
+ include Aws::Structure::Union
253
+
254
+ class SharedInformation < DiffieHellmanDerivationData; end
255
+ class Unknown < DiffieHellmanDerivationData; end
256
+ end
257
+
225
258
  # The attributes for IPEK generation during export.
226
259
  #
227
260
  # @!attribute [rw] export_dukpt_initial_key
@@ -250,6 +283,59 @@ module Aws::PaymentCryptography
250
283
  include Aws::Structure
251
284
  end
252
285
 
286
+ # Parameter information for key material export using the asymmetric
287
+ # ECDH key exchange method.
288
+ #
289
+ # @!attribute [rw] private_key_identifier
290
+ # The `keyARN` of the asymmetric ECC key.
291
+ # @return [String]
292
+ #
293
+ # @!attribute [rw] certificate_authority_public_key_identifier
294
+ # The `keyARN` of the certificate that signed the client's
295
+ # `PublicKeyCertificate`.
296
+ # @return [String]
297
+ #
298
+ # @!attribute [rw] public_key_certificate
299
+ # The client's public key certificate in PEM format (base64 encoded)
300
+ # to use for ECDH key derivation.
301
+ # @return [String]
302
+ #
303
+ # @!attribute [rw] derive_key_algorithm
304
+ # The key algorithm of the derived ECDH key.
305
+ # @return [String]
306
+ #
307
+ # @!attribute [rw] key_derivation_function
308
+ # The key derivation function to use for deriving a key using ECDH.
309
+ # @return [String]
310
+ #
311
+ # @!attribute [rw] key_derivation_hash_algorithm
312
+ # The hash type to use for deriving a key using ECDH.
313
+ # @return [String]
314
+ #
315
+ # @!attribute [rw] derivation_data
316
+ # Derivation data used to derive an ECDH key.
317
+ # @return [Types::DiffieHellmanDerivationData]
318
+ #
319
+ # @!attribute [rw] key_block_headers
320
+ # Optional metadata for export associated with the key material. This
321
+ # data is signed but transmitted in clear text.
322
+ # @return [Types::KeyBlockHeaders]
323
+ #
324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportDiffieHellmanTr31KeyBlock AWS API Documentation
325
+ #
326
+ class ExportDiffieHellmanTr31KeyBlock < Struct.new(
327
+ :private_key_identifier,
328
+ :certificate_authority_public_key_identifier,
329
+ :public_key_certificate,
330
+ :derive_key_algorithm,
331
+ :key_derivation_function,
332
+ :key_derivation_hash_algorithm,
333
+ :derivation_data,
334
+ :key_block_headers)
335
+ SENSITIVE = [:public_key_certificate]
336
+ include Aws::Structure
337
+ end
338
+
253
339
  # Parameter information for IPEK generation during export.
254
340
  #
255
341
  # @!attribute [rw] key_serial_number
@@ -341,12 +427,18 @@ module Aws::PaymentCryptography
341
427
  # wrap and unwrap key exchange method
342
428
  # @return [Types::ExportKeyCryptogram]
343
429
  #
430
+ # @!attribute [rw] diffie_hellman_tr_31_key_block
431
+ # Parameter information for key material export using the asymmetric
432
+ # ECDH key exchange method.
433
+ # @return [Types::ExportDiffieHellmanTr31KeyBlock]
434
+ #
344
435
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportKeyMaterial AWS API Documentation
345
436
  #
346
437
  class ExportKeyMaterial < Struct.new(
347
438
  :tr_31_key_block,
348
439
  :tr_34_key_block,
349
440
  :key_cryptogram,
441
+ :diffie_hellman_tr_31_key_block,
350
442
  :unknown)
351
443
  SENSITIVE = []
352
444
  include Aws::Structure
@@ -355,6 +447,7 @@ module Aws::PaymentCryptography
355
447
  class Tr31KeyBlock < ExportKeyMaterial; end
356
448
  class Tr34KeyBlock < ExportKeyMaterial; end
357
449
  class KeyCryptogram < ExportKeyMaterial; end
450
+ class DiffieHellmanTr31KeyBlock < ExportKeyMaterial; end
358
451
  class Unknown < ExportKeyMaterial; end
359
452
  end
360
453
 
@@ -661,6 +754,58 @@ module Aws::PaymentCryptography
661
754
  include Aws::Structure
662
755
  end
663
756
 
757
+ # Parameter information for key material import using the asymmetric
758
+ # ECDH key exchange method.
759
+ #
760
+ # @!attribute [rw] private_key_identifier
761
+ # The `keyARN` of the asymmetric ECC key.
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] certificate_authority_public_key_identifier
765
+ # The `keyARN` of the certificate that signed the client's
766
+ # `PublicKeyCertificate`.
767
+ # @return [String]
768
+ #
769
+ # @!attribute [rw] public_key_certificate
770
+ # The client's public key certificate in PEM format (base64 encoded)
771
+ # to use for ECDH key derivation.
772
+ # @return [String]
773
+ #
774
+ # @!attribute [rw] derive_key_algorithm
775
+ # The key algorithm of the derived ECDH key.
776
+ # @return [String]
777
+ #
778
+ # @!attribute [rw] key_derivation_function
779
+ # The key derivation function to use for deriving a key using ECDH.
780
+ # @return [String]
781
+ #
782
+ # @!attribute [rw] key_derivation_hash_algorithm
783
+ # The hash type to use for deriving a key using ECDH.
784
+ # @return [String]
785
+ #
786
+ # @!attribute [rw] derivation_data
787
+ # Derivation data used to derive an ECDH key.
788
+ # @return [Types::DiffieHellmanDerivationData]
789
+ #
790
+ # @!attribute [rw] wrapped_key_block
791
+ # The ECDH wrapped key block to import.
792
+ # @return [String]
793
+ #
794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportDiffieHellmanTr31KeyBlock AWS API Documentation
795
+ #
796
+ class ImportDiffieHellmanTr31KeyBlock < Struct.new(
797
+ :private_key_identifier,
798
+ :certificate_authority_public_key_identifier,
799
+ :public_key_certificate,
800
+ :derive_key_algorithm,
801
+ :key_derivation_function,
802
+ :key_derivation_hash_algorithm,
803
+ :derivation_data,
804
+ :wrapped_key_block)
805
+ SENSITIVE = [:public_key_certificate, :wrapped_key_block]
806
+ include Aws::Structure
807
+ end
808
+
664
809
  # Parameter information for key material import using asymmetric RSA
665
810
  # wrap and unwrap key exchange method.
666
811
  #
@@ -791,6 +936,11 @@ module Aws::PaymentCryptography
791
936
  # wrap and unwrap key exchange method.
792
937
  # @return [Types::ImportKeyCryptogram]
793
938
  #
939
+ # @!attribute [rw] diffie_hellman_tr_31_key_block
940
+ # Parameter information for key material import using the asymmetric
941
+ # ECDH key exchange method.
942
+ # @return [Types::ImportDiffieHellmanTr31KeyBlock]
943
+ #
794
944
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportKeyMaterial AWS API Documentation
795
945
  #
796
946
  class ImportKeyMaterial < Struct.new(
@@ -799,6 +949,7 @@ module Aws::PaymentCryptography
799
949
  :tr_31_key_block,
800
950
  :tr_34_key_block,
801
951
  :key_cryptogram,
952
+ :diffie_hellman_tr_31_key_block,
802
953
  :unknown)
803
954
  SENSITIVE = []
804
955
  include Aws::Structure
@@ -809,6 +960,7 @@ module Aws::PaymentCryptography
809
960
  class Tr31KeyBlock < ImportKeyMaterial; end
810
961
  class Tr34KeyBlock < ImportKeyMaterial; end
811
962
  class KeyCryptogram < ImportKeyMaterial; end
963
+ class DiffieHellmanTr31KeyBlock < ImportKeyMaterial; end
812
964
  class Unknown < ImportKeyMaterial; end
813
965
  end
814
966
 
@@ -988,6 +1140,11 @@ module Aws::PaymentCryptography
988
1140
  # Payment Cryptography key is deleted.
989
1141
  # @return [Time]
990
1142
  #
1143
+ # @!attribute [rw] derive_key_usage
1144
+ # The cryptographic usage of an ECDH derived key as defined in section
1145
+ # A.5.2 of the TR-31 spec.
1146
+ # @return [String]
1147
+ #
991
1148
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/Key AWS API Documentation
992
1149
  #
993
1150
  class Key < Struct.new(
@@ -1003,7 +1160,8 @@ module Aws::PaymentCryptography
1003
1160
  :usage_start_timestamp,
1004
1161
  :usage_stop_timestamp,
1005
1162
  :delete_pending_timestamp,
1006
- :delete_timestamp)
1163
+ :delete_timestamp,
1164
+ :derive_key_usage)
1007
1165
  SENSITIVE = []
1008
1166
  include Aws::Structure
1009
1167
  end
@@ -55,7 +55,7 @@ module Aws::PaymentCryptography
55
55
  autoload :EndpointProvider, 'aws-sdk-paymentcryptography/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-paymentcryptography/endpoints'
57
57
 
58
- GEM_VERSION = '1.31.0'
58
+ GEM_VERSION = '1.32.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -98,7 +98,7 @@ module Aws
98
98
  key_attributes: {
99
99
  key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY"),
100
100
  key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY"),
101
- key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384"),
101
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
102
102
  key_modes_of_use: {
103
103
  encrypt: bool?,
104
104
  decrypt: bool?,
@@ -119,7 +119,8 @@ module Aws
119
119
  key: ::String,
120
120
  value: ::String
121
121
  },
122
- ]
122
+ ],
123
+ ?derive_key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY")
123
124
  ) -> _CreateKeyResponseSuccess
124
125
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateKeyResponseSuccess
125
126
 
@@ -196,6 +197,33 @@ module Aws
196
197
  certificate_authority_public_key_identifier: ::String,
197
198
  wrapping_key_certificate: ::String,
198
199
  wrapping_spec: ("RSA_OAEP_SHA_256" | "RSA_OAEP_SHA_512")?
200
+ }?,
201
+ diffie_hellman_tr_31_key_block: {
202
+ private_key_identifier: ::String,
203
+ certificate_authority_public_key_identifier: ::String,
204
+ public_key_certificate: ::String,
205
+ derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
206
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
207
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
208
+ derivation_data: {
209
+ shared_information: ::String?
210
+ },
211
+ key_block_headers: {
212
+ key_modes_of_use: {
213
+ encrypt: bool?,
214
+ decrypt: bool?,
215
+ wrap: bool?,
216
+ unwrap: bool?,
217
+ generate: bool?,
218
+ sign: bool?,
219
+ verify: bool?,
220
+ derive_key: bool?,
221
+ no_restrictions: bool?
222
+ }?,
223
+ key_exportability: ("EXPORTABLE" | "NON_EXPORTABLE" | "SENSITIVE")?,
224
+ key_version: ::String?,
225
+ optional_blocks: Hash[::String, ::String]?
226
+ }?
199
227
  }?
200
228
  },
201
229
  export_key_identifier: ::String,
@@ -232,14 +260,14 @@ module Aws
232
260
  include ::Seahorse::Client::_ResponseSuccess[Types::GetParametersForExportOutput]
233
261
  def signing_key_certificate: () -> ::String
234
262
  def signing_key_certificate_chain: () -> ::String
235
- def signing_key_algorithm: () -> ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
263
+ def signing_key_algorithm: () -> ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
236
264
  def export_token: () -> ::String
237
265
  def parameters_valid_until_timestamp: () -> ::Time
238
266
  end
239
267
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PaymentCryptography/Client.html#get_parameters_for_export-instance_method
240
268
  def get_parameters_for_export: (
241
269
  key_material_type: ("TR34_KEY_BLOCK" | "TR31_KEY_BLOCK" | "ROOT_PUBLIC_KEY_CERTIFICATE" | "TRUSTED_PUBLIC_KEY_CERTIFICATE" | "KEY_CRYPTOGRAM"),
242
- signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
270
+ signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
243
271
  ) -> _GetParametersForExportResponseSuccess
244
272
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetParametersForExportResponseSuccess
245
273
 
@@ -247,14 +275,14 @@ module Aws
247
275
  include ::Seahorse::Client::_ResponseSuccess[Types::GetParametersForImportOutput]
248
276
  def wrapping_key_certificate: () -> ::String
249
277
  def wrapping_key_certificate_chain: () -> ::String
250
- def wrapping_key_algorithm: () -> ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
278
+ def wrapping_key_algorithm: () -> ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
251
279
  def import_token: () -> ::String
252
280
  def parameters_valid_until_timestamp: () -> ::Time
253
281
  end
254
282
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PaymentCryptography/Client.html#get_parameters_for_import-instance_method
255
283
  def get_parameters_for_import: (
256
284
  key_material_type: ("TR34_KEY_BLOCK" | "TR31_KEY_BLOCK" | "ROOT_PUBLIC_KEY_CERTIFICATE" | "TRUSTED_PUBLIC_KEY_CERTIFICATE" | "KEY_CRYPTOGRAM"),
257
- wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
285
+ wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
258
286
  ) -> _GetParametersForImportResponseSuccess
259
287
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetParametersForImportResponseSuccess
260
288
 
@@ -280,7 +308,7 @@ module Aws
280
308
  key_attributes: {
281
309
  key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY"),
282
310
  key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY"),
283
- key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384"),
311
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
284
312
  key_modes_of_use: {
285
313
  encrypt: bool?,
286
314
  decrypt: bool?,
@@ -299,7 +327,7 @@ module Aws
299
327
  key_attributes: {
300
328
  key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY"),
301
329
  key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY"),
302
- key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384"),
330
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
303
331
  key_modes_of_use: {
304
332
  encrypt: bool?,
305
333
  decrypt: bool?,
@@ -331,7 +359,7 @@ module Aws
331
359
  key_attributes: {
332
360
  key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY"),
333
361
  key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY"),
334
- key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384"),
362
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
335
363
  key_modes_of_use: {
336
364
  encrypt: bool?,
337
365
  decrypt: bool?,
@@ -348,6 +376,18 @@ module Aws
348
376
  wrapped_key_cryptogram: ::String,
349
377
  import_token: ::String,
350
378
  wrapping_spec: ("RSA_OAEP_SHA_256" | "RSA_OAEP_SHA_512")?
379
+ }?,
380
+ diffie_hellman_tr_31_key_block: {
381
+ private_key_identifier: ::String,
382
+ certificate_authority_public_key_identifier: ::String,
383
+ public_key_certificate: ::String,
384
+ derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
385
+ key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
386
+ key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
387
+ derivation_data: {
388
+ shared_information: ::String?
389
+ },
390
+ wrapped_key_block: ::String
351
391
  }?
352
392
  },
353
393
  ?key_check_value_algorithm: ("CMAC" | "ANSI_X9_24"),
data/sig/types.rbs CHANGED
@@ -41,6 +41,7 @@ module Aws::PaymentCryptography
41
41
  attr_accessor exportable: bool
42
42
  attr_accessor enabled: bool
43
43
  attr_accessor tags: ::Array[Types::Tag]
44
+ attr_accessor derive_key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY")
44
45
  SENSITIVE: []
45
46
  end
46
47
 
@@ -68,12 +69,35 @@ module Aws::PaymentCryptography
68
69
  SENSITIVE: []
69
70
  end
70
71
 
72
+ class DiffieHellmanDerivationData
73
+ attr_accessor shared_information: ::String
74
+ attr_accessor unknown: untyped
75
+ SENSITIVE: []
76
+
77
+ class SharedInformation < DiffieHellmanDerivationData
78
+ end
79
+ class Unknown < DiffieHellmanDerivationData
80
+ end
81
+ end
82
+
71
83
  class ExportAttributes
72
84
  attr_accessor export_dukpt_initial_key: Types::ExportDukptInitialKey
73
85
  attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")
74
86
  SENSITIVE: []
75
87
  end
76
88
 
89
+ class ExportDiffieHellmanTr31KeyBlock
90
+ attr_accessor private_key_identifier: ::String
91
+ attr_accessor certificate_authority_public_key_identifier: ::String
92
+ attr_accessor public_key_certificate: ::String
93
+ attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256")
94
+ attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
95
+ attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
96
+ attr_accessor derivation_data: Types::DiffieHellmanDerivationData
97
+ attr_accessor key_block_headers: Types::KeyBlockHeaders
98
+ SENSITIVE: [:public_key_certificate]
99
+ end
100
+
77
101
  class ExportDukptInitialKey
78
102
  attr_accessor key_serial_number: ::String
79
103
  SENSITIVE: []
@@ -97,6 +121,7 @@ module Aws::PaymentCryptography
97
121
  attr_accessor tr_31_key_block: Types::ExportTr31KeyBlock
98
122
  attr_accessor tr_34_key_block: Types::ExportTr34KeyBlock
99
123
  attr_accessor key_cryptogram: Types::ExportKeyCryptogram
124
+ attr_accessor diffie_hellman_tr_31_key_block: Types::ExportDiffieHellmanTr31KeyBlock
100
125
  attr_accessor unknown: untyped
101
126
  SENSITIVE: []
102
127
 
@@ -106,6 +131,8 @@ module Aws::PaymentCryptography
106
131
  end
107
132
  class KeyCryptogram < ExportKeyMaterial
108
133
  end
134
+ class DiffieHellmanTr31KeyBlock < ExportKeyMaterial
135
+ end
109
136
  class Unknown < ExportKeyMaterial
110
137
  end
111
138
  end
@@ -153,14 +180,14 @@ module Aws::PaymentCryptography
153
180
 
154
181
  class GetParametersForExportInput
155
182
  attr_accessor key_material_type: ("TR34_KEY_BLOCK" | "TR31_KEY_BLOCK" | "ROOT_PUBLIC_KEY_CERTIFICATE" | "TRUSTED_PUBLIC_KEY_CERTIFICATE" | "KEY_CRYPTOGRAM")
156
- attr_accessor signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
183
+ attr_accessor signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
157
184
  SENSITIVE: []
158
185
  end
159
186
 
160
187
  class GetParametersForExportOutput
161
188
  attr_accessor signing_key_certificate: ::String
162
189
  attr_accessor signing_key_certificate_chain: ::String
163
- attr_accessor signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
190
+ attr_accessor signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
164
191
  attr_accessor export_token: ::String
165
192
  attr_accessor parameters_valid_until_timestamp: ::Time
166
193
  SENSITIVE: [:signing_key_certificate, :signing_key_certificate_chain]
@@ -168,14 +195,14 @@ module Aws::PaymentCryptography
168
195
 
169
196
  class GetParametersForImportInput
170
197
  attr_accessor key_material_type: ("TR34_KEY_BLOCK" | "TR31_KEY_BLOCK" | "ROOT_PUBLIC_KEY_CERTIFICATE" | "TRUSTED_PUBLIC_KEY_CERTIFICATE" | "KEY_CRYPTOGRAM")
171
- attr_accessor wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
198
+ attr_accessor wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
172
199
  SENSITIVE: []
173
200
  end
174
201
 
175
202
  class GetParametersForImportOutput
176
203
  attr_accessor wrapping_key_certificate: ::String
177
204
  attr_accessor wrapping_key_certificate_chain: ::String
178
- attr_accessor wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
205
+ attr_accessor wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
179
206
  attr_accessor import_token: ::String
180
207
  attr_accessor parameters_valid_until_timestamp: ::Time
181
208
  SENSITIVE: [:wrapping_key_certificate, :wrapping_key_certificate_chain]
@@ -192,6 +219,18 @@ module Aws::PaymentCryptography
192
219
  SENSITIVE: [:key_certificate, :key_certificate_chain]
193
220
  end
194
221
 
222
+ class ImportDiffieHellmanTr31KeyBlock
223
+ attr_accessor private_key_identifier: ::String
224
+ attr_accessor certificate_authority_public_key_identifier: ::String
225
+ attr_accessor public_key_certificate: ::String
226
+ attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256")
227
+ attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
228
+ attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
229
+ attr_accessor derivation_data: Types::DiffieHellmanDerivationData
230
+ attr_accessor wrapped_key_block: ::String
231
+ SENSITIVE: [:public_key_certificate, :wrapped_key_block]
232
+ end
233
+
195
234
  class ImportKeyCryptogram
196
235
  attr_accessor key_attributes: Types::KeyAttributes
197
236
  attr_accessor exportable: bool
@@ -215,6 +254,7 @@ module Aws::PaymentCryptography
215
254
  attr_accessor tr_31_key_block: Types::ImportTr31KeyBlock
216
255
  attr_accessor tr_34_key_block: Types::ImportTr34KeyBlock
217
256
  attr_accessor key_cryptogram: Types::ImportKeyCryptogram
257
+ attr_accessor diffie_hellman_tr_31_key_block: Types::ImportDiffieHellmanTr31KeyBlock
218
258
  attr_accessor unknown: untyped
219
259
  SENSITIVE: []
220
260
 
@@ -228,6 +268,8 @@ module Aws::PaymentCryptography
228
268
  end
229
269
  class KeyCryptogram < ImportKeyMaterial
230
270
  end
271
+ class DiffieHellmanTr31KeyBlock < ImportKeyMaterial
272
+ end
231
273
  class Unknown < ImportKeyMaterial
232
274
  end
233
275
  end
@@ -272,13 +314,14 @@ module Aws::PaymentCryptography
272
314
  attr_accessor usage_stop_timestamp: ::Time
273
315
  attr_accessor delete_pending_timestamp: ::Time
274
316
  attr_accessor delete_timestamp: ::Time
317
+ attr_accessor derive_key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY")
275
318
  SENSITIVE: []
276
319
  end
277
320
 
278
321
  class KeyAttributes
279
322
  attr_accessor key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY")
280
323
  attr_accessor key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY")
281
- attr_accessor key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384")
324
+ attr_accessor key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
282
325
  attr_accessor key_modes_of_use: Types::KeyModesOfUse
283
326
  SENSITIVE: []
284
327
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-paymentcryptography
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.31.0
4
+ version: 1.32.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: 2025-02-18 00:00:00.000000000 Z
11
+ date: 2025-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core