aws-sdk-paymentcryptographydata 1.51.0 → 1.53.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: 9b5ca3b60e7009e66b9fdb8fa4eb4d6cc16d310eeb2f751d5c1294085f1e2e20
4
- data.tar.gz: d031aaae33a5c63de7d587477bf7cc05399ac50ee7d38035eeb1830f6a0ed6ce
3
+ metadata.gz: abe3024c0a261843a6fdbcadd12370dc1634b3f4a9a25ca172f6a3a75c74b95a
4
+ data.tar.gz: db9a70f4da38a743203dcf64eea693ea81985caca057daf7d33aa09c7f158608
5
5
  SHA512:
6
- metadata.gz: 83fda313d8421f1e0804310bb52be95edf4c7c5d815f3320cfdbc18baee75ba7b64c68f836b9fef6325cf825b04bf3f13b805f444bc5739fd6732b9028d8a15e
7
- data.tar.gz: 6ef23734a0072ddbcf6f28e419b50e87022817c72ea7775e26763a52335878e47bec7ffc1d90685b34d6e43f3f22ba2199f25047690bd71ca87c66081602a899
6
+ metadata.gz: e891414054ddad446d2e5dbbba889ea9cf9034901112f922d21278c1f18ba2804e4883c891574fd6c24f080ad0e31b87b15deac9f26f389389ed807fdc620bb2
7
+ data.tar.gz: 935e36d316810e2c28cba9c405864793d9609961e9338ecbbfd2df11997be1b0b6c44a0622d2909cbd2b6836b8ba671b46a1990f26dafd720b078c4d6e02beb2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.53.0 (2026-05-21)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.52.0 (2026-05-20)
10
+ ------------------
11
+
12
+ * Feature - GenerateAuthRequestCryptogram API launch.
13
+
4
14
  1.51.0 (2026-05-19)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.51.0
1
+ 1.53.0
@@ -199,7 +199,7 @@ module Aws::PaymentCryptographyData
199
199
  # the required types.
200
200
  #
201
201
  # @option options [Boolean] :correct_clock_skew (true)
202
- # Used only in `standard` and adaptive retry modes. Specifies whether to apply
202
+ # Used only in `standard` and `adaptive` retry modes. Specifies whether to apply
203
203
  # a clock skew correction and retry requests with skewed client clocks.
204
204
  #
205
205
  # @option options [String] :defaults_mode ("legacy")
@@ -323,17 +323,15 @@ module Aws::PaymentCryptographyData
323
323
  # @option options [String] :retry_mode ("legacy")
324
324
  # Specifies which retry algorithm to use. Values are:
325
325
  #
326
- # * `legacy` - The pre-existing retry behavior. This is default value if
327
- # no retry mode is provided.
326
+ # * `legacy` - The pre-existing retry behavior. This is the default
327
+ # value if no retry mode is provided.
328
328
  #
329
329
  # * `standard` - A standardized set of retry rules across the AWS SDKs.
330
330
  # This includes support for retry quotas, which limit the number of
331
331
  # unsuccessful retries a client can make.
332
332
  #
333
- # * `adaptive` - An experimental retry mode that includes all the
334
- # functionality of `standard` mode along with automatic client side
335
- # throttling. This is a provisional mode that may change behavior
336
- # in the future.
333
+ # * `adaptive` - A retry mode that includes all the functionality of
334
+ # `standard` mode along with automatic client side throttling.
337
335
  #
338
336
  # @option options [String] :sdk_ua_app_id
339
337
  # A unique and opaque application ID that is appended to the
@@ -518,8 +516,9 @@ module Aws::PaymentCryptographyData
518
516
  # operations][6] in the *Amazon Web Services Payment Cryptography User
519
517
  # Guide*.
520
518
  #
521
- # **Cross-account use**: This operation can't be used across different
522
- # Amazon Web Services accounts.
519
+ # **Cross-account use**: This operation supports cross-account use when
520
+ # the key has a resource-based policy that grants access. For more
521
+ # information, see [Resource-based policies][7].
523
522
  #
524
523
  # **Related operations:**
525
524
  #
@@ -537,6 +536,7 @@ module Aws::PaymentCryptographyData
537
536
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/use-cases-acquirers-dynamickeys.html
538
537
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
539
538
  # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
539
+ # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
540
540
  #
541
541
  # @option params [required, String] :key_identifier
542
542
  # The `keyARN` of the encryption key that Amazon Web Services Payment
@@ -671,14 +671,15 @@ module Aws::PaymentCryptographyData
671
671
  # operations][6] in the *Amazon Web Services Payment Cryptography User
672
672
  # Guide*.
673
673
  #
674
- # **Cross-account use**: This operation can't be used across different
675
- # Amazon Web Services accounts.
674
+ # **Cross-account use**: This operation supports cross-account use when
675
+ # the key has a resource-based policy that grants access. For more
676
+ # information, see [Resource-based policies][7].
676
677
  #
677
678
  # **Related operations:**
678
679
  #
679
680
  # * DecryptData
680
681
  #
681
- # * [GetPublicCertificate][7]
682
+ # * [GetPublicCertificate][8]
682
683
  #
683
684
  # * [ImportKey][3]
684
685
  #
@@ -692,7 +693,8 @@ module Aws::PaymentCryptographyData
692
693
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/use-cases-acquirers-dynamickeys.html
693
694
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
694
695
  # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
695
- # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
696
+ # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
697
+ # [8]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
696
698
  #
697
699
  # @option params [required, String] :key_identifier
698
700
  # The `keyARN` of the encryption key that Amazon Web Services Payment
@@ -791,9 +793,9 @@ module Aws::PaymentCryptographyData
791
793
  req.send_request(options)
792
794
  end
793
795
 
794
- # Establishes node-to-node initialization between payment processing
795
- # nodes such as an acquirer, issuer or payment network using Australian
796
- # Standard 2805 (AS2805).
796
+ # Generates a `KekValidationRequest` or a `KekValidationResponse` for
797
+ # node-to-node initialization between payment processing nodes using
798
+ # [Australian Standard 2805 (AS2805)][1].
797
799
  #
798
800
  # During node-to-node initialization, both communicating nodes must
799
801
  # validate that they possess the correct Key Encrypting Keys (KEKs)
@@ -802,38 +804,50 @@ module Aws::PaymentCryptographyData
802
804
  # partner node. Each node uses its KEK to encrypt and decrypt session
803
805
  # keys exchanged between the nodes. A KEK can be created or imported
804
806
  # into Amazon Web Services Payment Cryptography using either the
805
- # [CreateKey][1] or [ImportKey][2] operations.
806
- #
807
- # The node initiating communication can use
808
- # `GenerateAS2805KekValidation` to generate a combined KEK validation
809
- # request and KEK validation response to send to the partnering node for
810
- # validation. When invoked, the API internally generates a random
811
- # sending key encrypted under KEKs and provides a receiving key
812
- # encrypted under KEKr as response. The initiating node sends the
813
- # response returned by this API to its partner for validation.
807
+ # [CreateKey][2] or [ImportKey][3] operations.
808
+ #
809
+ # To use `GenerateAs2805KekValidation` to generate a KEK validation
810
+ # request, set `KekValidationType` to `KekValidationRequest`. This
811
+ # operation returns both `RandomKeySend` (KRs) and `RandomKeyReceive`
812
+ # (KRr) as response values. The partnering node receives the KRs, uses
813
+ # its KEKr to decrypt it, and generates a KRr which is an inverted value
814
+ # of KRs. The node receiving the KRr validates it against its own KRr
815
+ # generated during KEK validation request outside of Amazon Web Services
816
+ # Payment Cryptography.
817
+ #
818
+ # You can also use this operation to generate a KEK validation response,
819
+ # by setting `KekValidationType` to `KekValidationResponse` and
820
+ # providing the incoming KRs. This operation then calculates a KRr. To
821
+ # learn more about more about node-to-node initialization, see
822
+ # [Validation of KEK][4] in the *Amazon Web Services Payment
823
+ # Cryptography User Guide*.
814
824
  #
815
825
  # For information about valid keys for this operation, see
816
- # [Understanding key attributes][3] and [Key types for specific data
817
- # operations][4] in the *Amazon Web Services Payment Cryptography User
826
+ # [Understanding key attributes][5] and [Key types for specific data
827
+ # operations][6] in the *Amazon Web Services Payment Cryptography User
818
828
  # Guide*.
819
829
  #
820
- # **Cross-account use**: This operation can't be used across different
821
- # Amazon Web Services accounts.
830
+ # **Cross-account use**: This operation supports cross-account use when
831
+ # the key has a resource-based policy that grants access. For more
832
+ # information, see [Resource-based policies][7].
822
833
  #
823
834
  #
824
835
  #
825
- # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
826
- # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
827
- # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
828
- # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
836
+ # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/as2805.html
837
+ # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
838
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
839
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/as2805.kekvalidation.html
840
+ # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
841
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
842
+ # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
829
843
  #
830
844
  # @option params [required, String] :key_identifier
831
845
  # The `keyARN` of sending KEK that Amazon Web Services Payment
832
846
  # Cryptography uses for node-to-node initialization
833
847
  #
834
848
  # @option params [required, Types::As2805KekValidationType] :kek_validation_type
835
- # Parameter information for generating a random key for KEK validation
836
- # to perform node-to-node initialization.
849
+ # Defines whether to generate a KEK validation request or KEK validation
850
+ # response for node-to-node initialization.
837
851
  #
838
852
  # @option params [required, String] :random_key_send_variant_mask
839
853
  # The key variant to use for generating a random key for KEK validation
@@ -853,6 +867,7 @@ module Aws::PaymentCryptographyData
853
867
  # kek_validation_type: { # required
854
868
  # kek_validation_request: {
855
869
  # derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224
870
+ # random_key_max_length: "BYTES_8", # accepts BYTES_8, BYTES_16, BYTES_24
856
871
  # },
857
872
  # kek_validation_response: {
858
873
  # random_key_send: "As2805RandomKeyMaterial", # required
@@ -877,6 +892,120 @@ module Aws::PaymentCryptographyData
877
892
  req.send_request(options)
878
893
  end
879
894
 
895
+ # Generates an Authorization Request Cryptogram (ARQC) for an EMV chip
896
+ # payment card authorization. For more information, see [Generate auth
897
+ # request cryptogram][1] in the *Amazon Web Services Payment
898
+ # Cryptography User Guide*.
899
+ #
900
+ # ARQC generation uses an Issuer Master Key (IMK) for application
901
+ # cryptograms (TR31\_E0\_EMV\_MKEY\_APP\_CRYPTOGRAMS) to derive a
902
+ # session key, which is then used to generate the cryptogram from the
903
+ # provided transaction data (when applicable). To use this operation,
904
+ # you must first create or import an IMK-AC key by calling
905
+ # [CreateKey][2] or [ImportKey][3]. The `KeyModesOfUse` should be set to
906
+ # `DeriveKey` for the IMK-AC encryption key.
907
+ #
908
+ # This operation is intended for development and testing scenarios only.
909
+ # It is not recommended to use this operation as a substitute for
910
+ # card-based cryptogram generation in production payment flows.
911
+ #
912
+ # For information about valid keys for this operation, see
913
+ # [Understanding key attributes][4] and [Key types for specific data
914
+ # operations][5] in the *Amazon Web Services Payment Cryptography User
915
+ # Guide*.
916
+ #
917
+ # **Cross-account use**: This operation supports cross-account use when
918
+ # the key has a resource-based policy that grants access. For more
919
+ # information, see [Resource-based policies][6].
920
+ #
921
+ # **Related operations:**
922
+ #
923
+ # * VerifyAuthRequestCryptogram
924
+ #
925
+ # ^
926
+ #
927
+ #
928
+ #
929
+ # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/data-operations.generateauthrequestcryptogram.html
930
+ # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
931
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
932
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
933
+ # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
934
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
935
+ #
936
+ # @option params [required, String] :key_identifier
937
+ # The `keyARN` of the IMK-AC (TR31\_E0\_EMV\_MKEY\_APP\_CRYPTOGRAMS)
938
+ # that Amazon Web Services Payment Cryptography uses to generate the
939
+ # ARQC.
940
+ #
941
+ # @option params [required, String] :transaction_data
942
+ # The transaction data that Amazon Web Services Payment Cryptography
943
+ # uses for ARQC generation. The same transaction data is used for ARQC
944
+ # verification by the issuer using VerifyAuthRequestCryptogram.
945
+ #
946
+ # @option params [required, String] :major_key_derivation_mode
947
+ # The method to use when deriving the major encryption key for ARQC
948
+ # generation within Amazon Web Services Payment Cryptography.
949
+ #
950
+ # @option params [required, Types::SessionKeyDerivation] :session_key_derivation_attributes
951
+ # The attributes and values to use for deriving a session key for ARQC
952
+ # generation within Amazon Web Services Payment Cryptography.
953
+ #
954
+ # @return [Types::GenerateAuthRequestCryptogramOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
955
+ #
956
+ # * {Types::GenerateAuthRequestCryptogramOutput#key_arn #key_arn} => String
957
+ # * {Types::GenerateAuthRequestCryptogramOutput#key_check_value #key_check_value} => String
958
+ # * {Types::GenerateAuthRequestCryptogramOutput#auth_request_cryptogram #auth_request_cryptogram} => String
959
+ #
960
+ # @example Request syntax with placeholder values
961
+ #
962
+ # resp = client.generate_auth_request_cryptogram({
963
+ # key_identifier: "KeyArnOrKeyAliasType", # required
964
+ # transaction_data: "TransactionDataType", # required
965
+ # major_key_derivation_mode: "EMV_OPTION_A", # required, accepts EMV_OPTION_A, EMV_OPTION_B
966
+ # session_key_derivation_attributes: { # required
967
+ # emv_common: {
968
+ # primary_account_number: "PrimaryAccountNumberType", # required
969
+ # pan_sequence_number: "NumberLengthEquals2", # required
970
+ # application_transaction_counter: "HexLengthEquals4", # required
971
+ # },
972
+ # mastercard: {
973
+ # primary_account_number: "PrimaryAccountNumberType", # required
974
+ # pan_sequence_number: "NumberLengthEquals2", # required
975
+ # application_transaction_counter: "HexLengthEquals4", # required
976
+ # unpredictable_number: "HexLengthEquals8", # required
977
+ # },
978
+ # emv_2000: {
979
+ # primary_account_number: "PrimaryAccountNumberType", # required
980
+ # pan_sequence_number: "NumberLengthEquals2", # required
981
+ # application_transaction_counter: "HexLengthEquals4", # required
982
+ # },
983
+ # amex: {
984
+ # primary_account_number: "PrimaryAccountNumberType", # required
985
+ # pan_sequence_number: "NumberLengthEquals2", # required
986
+ # },
987
+ # visa: {
988
+ # primary_account_number: "PrimaryAccountNumberType", # required
989
+ # pan_sequence_number: "NumberLengthEquals2", # required
990
+ # },
991
+ # },
992
+ # })
993
+ #
994
+ # @example Response structure
995
+ #
996
+ # resp.key_arn #=> String
997
+ # resp.key_check_value #=> String
998
+ # resp.auth_request_cryptogram #=> String
999
+ #
1000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateAuthRequestCryptogram AWS API Documentation
1001
+ #
1002
+ # @overload generate_auth_request_cryptogram(params = {})
1003
+ # @param [Hash] params ({})
1004
+ def generate_auth_request_cryptogram(params = {}, options = {})
1005
+ req = build_request(:generate_auth_request_cryptogram, params)
1006
+ req.send_request(options)
1007
+ end
1008
+
880
1009
  # Generates card-related validation data using algorithms such as Card
881
1010
  # Verification Values (CVV/CVV2), Dynamic Card Verification Values
882
1011
  # (dCVV/dCVV2), or Card Security Codes (CSC). For more information, see
@@ -898,8 +1027,9 @@ module Aws::PaymentCryptographyData
898
1027
  # operations][5] in the *Amazon Web Services Payment Cryptography User
899
1028
  # Guide*.
900
1029
  #
901
- # **Cross-account use**: This operation can't be used across different
902
- # Amazon Web Services accounts.
1030
+ # **Cross-account use**: This operation supports cross-account use when
1031
+ # the key has a resource-based policy that grants access. For more
1032
+ # information, see [Resource-based policies][6].
903
1033
  #
904
1034
  # **Related operations:**
905
1035
  #
@@ -914,6 +1044,7 @@ module Aws::PaymentCryptographyData
914
1044
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
915
1045
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
916
1046
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1047
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
917
1048
  #
918
1049
  # @option params [required, String] :key_identifier
919
1050
  # The `keyARN` of the CVK encryption key that Amazon Web Services
@@ -1015,8 +1146,9 @@ module Aws::PaymentCryptographyData
1015
1146
  # operations][2] in the *Amazon Web Services Payment Cryptography User
1016
1147
  # Guide*.
1017
1148
  #
1018
- # **Cross-account use**: This operation can't be used across different
1019
- # Amazon Web Services accounts.
1149
+ # **Cross-account use**: This operation supports cross-account use when
1150
+ # the key has a resource-based policy that grants access. For more
1151
+ # information, see [Resource-based policies][3].
1020
1152
  #
1021
1153
  # **Related operations:**
1022
1154
  #
@@ -1028,6 +1160,7 @@ module Aws::PaymentCryptographyData
1028
1160
  #
1029
1161
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1030
1162
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1163
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
1031
1164
  #
1032
1165
  # @option params [required, String] :key_identifier
1033
1166
  # The `keyARN` of the MAC generation encryption key.
@@ -1133,8 +1266,9 @@ module Aws::PaymentCryptographyData
1133
1266
  #
1134
1267
  # </note>
1135
1268
  #
1136
- # **Cross-account use**: This operation can't be used across different
1137
- # Amazon Web Services accounts.
1269
+ # **Cross-account use**: This operation supports cross-account use when
1270
+ # the key has a resource-based policy that grants access. For more
1271
+ # information, see [Resource-based policies][2].
1138
1272
  #
1139
1273
  # **Related operations:**
1140
1274
  #
@@ -1145,6 +1279,7 @@ module Aws::PaymentCryptographyData
1145
1279
  #
1146
1280
  #
1147
1281
  # [1]: https://www.emvco.com/specifications/
1282
+ # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
1148
1283
  #
1149
1284
  # @option params [required, String] :new_pin_pek_identifier
1150
1285
  # The `keyARN` of the PEK protecting the incoming new encrypted PIN
@@ -1293,8 +1428,9 @@ module Aws::PaymentCryptographyData
1293
1428
  # operations][4] in the *Amazon Web Services Payment Cryptography User
1294
1429
  # Guide*.
1295
1430
  #
1296
- # **Cross-account use**: This operation can't be used across different
1297
- # Amazon Web Services accounts.
1431
+ # **Cross-account use**: This operation supports cross-account use when
1432
+ # the key has a resource-based policy that grants access. For more
1433
+ # information, see [Resource-based policies][5].
1298
1434
  #
1299
1435
  # **Related operations:**
1300
1436
  #
@@ -1310,6 +1446,7 @@ module Aws::PaymentCryptographyData
1310
1446
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html
1311
1447
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1312
1448
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1449
+ # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
1313
1450
  #
1314
1451
  # @option params [required, String] :generation_key_identifier
1315
1452
  # The `keyARN` of the PEK that Amazon Web Services Payment Cryptography
@@ -1464,8 +1601,9 @@ module Aws::PaymentCryptographyData
1464
1601
  # operations][5] in the *Amazon Web Services Payment Cryptography User
1465
1602
  # Guide*.
1466
1603
  #
1467
- # **Cross-account use**: This operation can't be used across different
1468
- # Amazon Web Services accounts.
1604
+ # **Cross-account use**: This operation supports cross-account use when
1605
+ # the key has a resource-based policy that grants access. For more
1606
+ # information, see [Resource-based policies][6].
1469
1607
  #
1470
1608
  # **Related operations:**
1471
1609
  #
@@ -1473,7 +1611,7 @@ module Aws::PaymentCryptographyData
1473
1611
  #
1474
1612
  # * EncryptData
1475
1613
  #
1476
- # * [GetPublicCertificate][6]
1614
+ # * [GetPublicCertificate][7]
1477
1615
  #
1478
1616
  # * [ImportKey][2]
1479
1617
  #
@@ -1484,7 +1622,8 @@ module Aws::PaymentCryptographyData
1484
1622
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/use-cases-acquirers-dynamickeys.html
1485
1623
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1486
1624
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1487
- # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
1625
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
1626
+ # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
1488
1627
  #
1489
1628
  # @option params [required, String] :incoming_key_identifier
1490
1629
  # The `keyARN` of the encryption key of incoming ciphertext data.
@@ -1628,16 +1767,17 @@ module Aws::PaymentCryptographyData
1628
1767
  # operations][5] in the *Amazon Web Services Payment Cryptography User
1629
1768
  # Guide*.
1630
1769
  #
1631
- # **Cross-account use**: This operation can't be used across different
1632
- # Amazon Web Services accounts.
1770
+ # **Cross-account use**: This operation supports cross-account use when
1771
+ # the key has a resource-based policy that grants access. For more
1772
+ # information, see [Resource-based policies][6].
1633
1773
  #
1634
1774
  # **Related operations:**
1635
1775
  #
1636
- # * [CreateKey][6]
1776
+ # * [CreateKey][7]
1637
1777
  #
1638
- # * [GetPublicCertificate][7]
1778
+ # * [GetPublicCertificate][8]
1639
1779
  #
1640
- # * [ImportKey][8]
1780
+ # * [ImportKey][9]
1641
1781
  #
1642
1782
  #
1643
1783
  #
@@ -1646,9 +1786,10 @@ module Aws::PaymentCryptographyData
1646
1786
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.kek
1647
1787
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1648
1788
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1649
- # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
1650
- # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
1651
- # [8]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
1789
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
1790
+ # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
1791
+ # [8]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
1792
+ # [9]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
1652
1793
  #
1653
1794
  # @option params [required, Types::IncomingKeyMaterial] :incoming_key_material
1654
1795
  # Parameter information of the TR31WrappedKeyBlock containing the
@@ -1759,8 +1900,9 @@ module Aws::PaymentCryptographyData
1759
1900
  #
1760
1901
  # </note>
1761
1902
  #
1762
- # **Cross-account use**: This operation can't be used across different
1763
- # Amazon Web Services accounts.
1903
+ # **Cross-account use**: This operation supports cross-account use when
1904
+ # the key has a resource-based policy that grants access. For more
1905
+ # information, see [Resource-based policies][6].
1764
1906
  #
1765
1907
  # **Related operations:**
1766
1908
  #
@@ -1775,6 +1917,7 @@ module Aws::PaymentCryptographyData
1775
1917
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html
1776
1918
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1777
1919
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1920
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
1778
1921
  #
1779
1922
  # @option params [required, String] :incoming_key_identifier
1780
1923
  # The `keyARN` of the encryption key under which incoming PIN block data
@@ -1946,8 +2089,9 @@ module Aws::PaymentCryptographyData
1946
2089
  # operations][5] in the *Amazon Web Services Payment Cryptography User
1947
2090
  # Guide*.
1948
2091
  #
1949
- # **Cross-account use**: This operation can't be used across different
1950
- # Amazon Web Services accounts.
2092
+ # **Cross-account use**: This operation supports cross-account use when
2093
+ # the key has a resource-based policy that grants access. For more
2094
+ # information, see [Resource-based policies][6].
1951
2095
  #
1952
2096
  # **Related operations:**
1953
2097
  #
@@ -1962,6 +2106,7 @@ module Aws::PaymentCryptographyData
1962
2106
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
1963
2107
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1964
2108
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
2109
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
1965
2110
  #
1966
2111
  # @option params [required, String] :key_identifier
1967
2112
  # The `keyARN` of the major encryption key that Amazon Web Services
@@ -2017,7 +2162,7 @@ module Aws::PaymentCryptographyData
2017
2162
  # primary_account_number: "PrimaryAccountNumberType", # required
2018
2163
  # pan_sequence_number: "NumberLengthEquals2", # required
2019
2164
  # application_transaction_counter: "HexLengthEquals4", # required
2020
- # unpredictable_number: "HexLengthBetween2And8", # required
2165
+ # unpredictable_number: "HexLengthEquals8", # required
2021
2166
  # },
2022
2167
  # emv_2000: {
2023
2168
  # primary_account_number: "PrimaryAccountNumberType", # required
@@ -2080,8 +2225,9 @@ module Aws::PaymentCryptographyData
2080
2225
  # operations][3] in the *Amazon Web Services Payment Cryptography User
2081
2226
  # Guide*.
2082
2227
  #
2083
- # **Cross-account use**: This operation can't be used across different
2084
- # Amazon Web Services accounts.
2228
+ # **Cross-account use**: This operation supports cross-account use when
2229
+ # the key has a resource-based policy that grants access. For more
2230
+ # information, see [Resource-based policies][4].
2085
2231
  #
2086
2232
  # **Related operations:**
2087
2233
  #
@@ -2096,6 +2242,7 @@ module Aws::PaymentCryptographyData
2096
2242
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/verify-card-data.html
2097
2243
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
2098
2244
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
2245
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
2099
2246
  #
2100
2247
  # @option params [required, String] :key_identifier
2101
2248
  # The `keyARN` of the CVK encryption key that Amazon Web Services
@@ -2193,8 +2340,9 @@ module Aws::PaymentCryptographyData
2193
2340
  # operations][2] in the *Amazon Web Services Payment Cryptography User
2194
2341
  # Guide*.
2195
2342
  #
2196
- # **Cross-account use**: This operation can't be used across different
2197
- # Amazon Web Services accounts.
2343
+ # **Cross-account use**: This operation supports cross-account use when
2344
+ # the key has a resource-based policy that grants access. For more
2345
+ # information, see [Resource-based policies][3].
2198
2346
  #
2199
2347
  # **Related operations:**
2200
2348
  #
@@ -2206,6 +2354,7 @@ module Aws::PaymentCryptographyData
2206
2354
  #
2207
2355
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
2208
2356
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
2357
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
2209
2358
  #
2210
2359
  # @option params [required, String] :key_identifier
2211
2360
  # The `keyARN` of the encryption key that Amazon Web Services Payment
@@ -2297,8 +2446,9 @@ module Aws::PaymentCryptographyData
2297
2446
  # operations][3] in the *Amazon Web Services Payment Cryptography User
2298
2447
  # Guide*.
2299
2448
  #
2300
- # **Cross-account use**: This operation can't be used across different
2301
- # Amazon Web Services accounts.
2449
+ # **Cross-account use**: This operation supports cross-account use when
2450
+ # the key has a resource-based policy that grants access. For more
2451
+ # information, see [Resource-based policies][4].
2302
2452
  #
2303
2453
  # **Related operations:**
2304
2454
  #
@@ -2311,6 +2461,7 @@ module Aws::PaymentCryptographyData
2311
2461
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/verify-pin-data.html
2312
2462
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
2313
2463
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
2464
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html
2314
2465
  #
2315
2466
  # @option params [required, String] :verification_key_identifier
2316
2467
  # The `keyARN` of the PIN verification key.
@@ -2435,7 +2586,7 @@ module Aws::PaymentCryptographyData
2435
2586
  tracer: tracer
2436
2587
  )
2437
2588
  context[:gem_name] = 'aws-sdk-paymentcryptographydata'
2438
- context[:gem_version] = '1.51.0'
2589
+ context[:gem_version] = '1.53.0'
2439
2590
  Seahorse::Client::Request.new(handlers, context)
2440
2591
  end
2441
2592
 
@@ -65,6 +65,8 @@ module Aws::PaymentCryptographyData
65
65
  EncryptionMode = Shapes::StringShape.new(name: 'EncryptionMode')
66
66
  GenerateAs2805KekValidationInput = Shapes::StructureShape.new(name: 'GenerateAs2805KekValidationInput')
67
67
  GenerateAs2805KekValidationOutput = Shapes::StructureShape.new(name: 'GenerateAs2805KekValidationOutput')
68
+ GenerateAuthRequestCryptogramInput = Shapes::StructureShape.new(name: 'GenerateAuthRequestCryptogramInput')
69
+ GenerateAuthRequestCryptogramOutput = Shapes::StructureShape.new(name: 'GenerateAuthRequestCryptogramOutput')
68
70
  GenerateCardValidationDataInput = Shapes::StructureShape.new(name: 'GenerateCardValidationDataInput')
69
71
  GenerateCardValidationDataOutput = Shapes::StructureShape.new(name: 'GenerateCardValidationDataOutput')
70
72
  GenerateMacEmvPinChangeInput = Shapes::StructureShape.new(name: 'GenerateMacEmvPinChangeInput')
@@ -91,7 +93,7 @@ module Aws::PaymentCryptographyData
91
93
  IntegerRangeBetween0And6 = Shapes::IntegerShape.new(name: 'IntegerRangeBetween0And6')
92
94
  IntegerRangeBetween3And5Type = Shapes::IntegerShape.new(name: 'IntegerRangeBetween3And5Type')
93
95
  IntegerRangeBetween4And12 = Shapes::IntegerShape.new(name: 'IntegerRangeBetween4And12')
94
- IntegerRangeBetween4And16 = Shapes::IntegerShape.new(name: 'IntegerRangeBetween4And16')
96
+ IntegerRangeBetween4And32 = Shapes::IntegerShape.new(name: 'IntegerRangeBetween4And32')
95
97
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
96
98
  KekValidationRequest = Shapes::StructureShape.new(name: 'KekValidationRequest')
97
99
  KekValidationResponse = Shapes::StructureShape.new(name: 'KekValidationResponse')
@@ -130,6 +132,7 @@ module Aws::PaymentCryptographyData
130
132
  PlainTextType = Shapes::StringShape.new(name: 'PlainTextType')
131
133
  PrimaryAccountNumberType = Shapes::StringShape.new(name: 'PrimaryAccountNumberType')
132
134
  ProprietaryAuthenticationDataType = Shapes::StringShape.new(name: 'ProprietaryAuthenticationDataType')
135
+ RandomKeyMaxLength = Shapes::StringShape.new(name: 'RandomKeyMaxLength')
133
136
  RandomKeySendVariantMask = Shapes::StringShape.new(name: 'RandomKeySendVariantMask')
134
137
  ReEncryptDataInput = Shapes::StructureShape.new(name: 'ReEncryptDataInput')
135
138
  ReEncryptDataOutput = Shapes::StructureShape.new(name: 'ReEncryptDataOutput')
@@ -419,6 +422,17 @@ module Aws::PaymentCryptographyData
419
422
  GenerateAs2805KekValidationOutput.add_member(:random_key_receive, Shapes::ShapeRef.new(shape: As2805RandomKeyMaterial, required: true, location_name: "RandomKeyReceive"))
420
423
  GenerateAs2805KekValidationOutput.struct_class = Types::GenerateAs2805KekValidationOutput
421
424
 
425
+ GenerateAuthRequestCryptogramInput.add_member(:key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "KeyIdentifier"))
426
+ GenerateAuthRequestCryptogramInput.add_member(:transaction_data, Shapes::ShapeRef.new(shape: TransactionDataType, required: true, location_name: "TransactionData"))
427
+ GenerateAuthRequestCryptogramInput.add_member(:major_key_derivation_mode, Shapes::ShapeRef.new(shape: MajorKeyDerivationMode, required: true, location_name: "MajorKeyDerivationMode"))
428
+ GenerateAuthRequestCryptogramInput.add_member(:session_key_derivation_attributes, Shapes::ShapeRef.new(shape: SessionKeyDerivation, required: true, location_name: "SessionKeyDerivationAttributes"))
429
+ GenerateAuthRequestCryptogramInput.struct_class = Types::GenerateAuthRequestCryptogramInput
430
+
431
+ GenerateAuthRequestCryptogramOutput.add_member(:key_arn, Shapes::ShapeRef.new(shape: KeyArn, required: true, location_name: "KeyArn"))
432
+ GenerateAuthRequestCryptogramOutput.add_member(:key_check_value, Shapes::ShapeRef.new(shape: KeyCheckValue, required: true, location_name: "KeyCheckValue"))
433
+ GenerateAuthRequestCryptogramOutput.add_member(:auth_request_cryptogram, Shapes::ShapeRef.new(shape: AuthRequestCryptogramType, required: true, location_name: "AuthRequestCryptogram"))
434
+ GenerateAuthRequestCryptogramOutput.struct_class = Types::GenerateAuthRequestCryptogramOutput
435
+
422
436
  GenerateCardValidationDataInput.add_member(:key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "KeyIdentifier"))
423
437
  GenerateCardValidationDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, required: true, location_name: "PrimaryAccountNumber"))
424
438
  GenerateCardValidationDataInput.add_member(:generation_attributes, Shapes::ShapeRef.new(shape: CardGenerationAttributes, required: true, location_name: "GenerationAttributes"))
@@ -453,7 +467,7 @@ module Aws::PaymentCryptographyData
453
467
  GenerateMacInput.add_member(:key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "KeyIdentifier"))
454
468
  GenerateMacInput.add_member(:message_data, Shapes::ShapeRef.new(shape: MessageDataType, required: true, location_name: "MessageData"))
455
469
  GenerateMacInput.add_member(:generation_attributes, Shapes::ShapeRef.new(shape: MacAttributes, required: true, location_name: "GenerationAttributes"))
456
- GenerateMacInput.add_member(:mac_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And16, location_name: "MacLength"))
470
+ GenerateMacInput.add_member(:mac_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And32, location_name: "MacLength"))
457
471
  GenerateMacInput.struct_class = Types::GenerateMacInput
458
472
 
459
473
  GenerateMacOutput.add_member(:key_arn, Shapes::ShapeRef.new(shape: KeyArn, required: true, location_name: "KeyArn"))
@@ -526,6 +540,7 @@ module Aws::PaymentCryptographyData
526
540
  InternalServerException.struct_class = Types::InternalServerException
527
541
 
528
542
  KekValidationRequest.add_member(:derive_key_algorithm, Shapes::ShapeRef.new(shape: SymmetricKeyAlgorithm, required: true, location_name: "DeriveKeyAlgorithm"))
543
+ KekValidationRequest.add_member(:random_key_max_length, Shapes::ShapeRef.new(shape: RandomKeyMaxLength, location_name: "RandomKeyMaxLength"))
529
544
  KekValidationRequest.struct_class = Types::KekValidationRequest
530
545
 
531
546
  KekValidationResponse.add_member(:random_key_send, Shapes::ShapeRef.new(shape: As2805RandomKeyMaterial, required: true, location_name: "RandomKeySend"))
@@ -668,7 +683,7 @@ module Aws::PaymentCryptographyData
668
683
  SessionKeyMastercard.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, required: true, location_name: "PrimaryAccountNumber"))
669
684
  SessionKeyMastercard.add_member(:pan_sequence_number, Shapes::ShapeRef.new(shape: NumberLengthEquals2, required: true, location_name: "PanSequenceNumber"))
670
685
  SessionKeyMastercard.add_member(:application_transaction_counter, Shapes::ShapeRef.new(shape: HexLengthEquals4, required: true, location_name: "ApplicationTransactionCounter"))
671
- SessionKeyMastercard.add_member(:unpredictable_number, Shapes::ShapeRef.new(shape: HexLengthBetween2And8, required: true, location_name: "UnpredictableNumber"))
686
+ SessionKeyMastercard.add_member(:unpredictable_number, Shapes::ShapeRef.new(shape: HexLengthEquals8, required: true, location_name: "UnpredictableNumber"))
672
687
  SessionKeyMastercard.struct_class = Types::SessionKeyMastercard
673
688
 
674
689
  SessionKeyVisa.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, required: true, location_name: "PrimaryAccountNumber"))
@@ -771,7 +786,7 @@ module Aws::PaymentCryptographyData
771
786
  VerifyMacInput.add_member(:message_data, Shapes::ShapeRef.new(shape: MessageDataType, required: true, location_name: "MessageData"))
772
787
  VerifyMacInput.add_member(:mac, Shapes::ShapeRef.new(shape: MacType, required: true, location_name: "Mac"))
773
788
  VerifyMacInput.add_member(:verification_attributes, Shapes::ShapeRef.new(shape: MacAttributes, required: true, location_name: "VerificationAttributes"))
774
- VerifyMacInput.add_member(:mac_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And16, location_name: "MacLength"))
789
+ VerifyMacInput.add_member(:mac_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And32, location_name: "MacLength"))
775
790
  VerifyMacInput.struct_class = Types::VerifyMacInput
776
791
 
777
792
  VerifyMacOutput.add_member(:key_arn, Shapes::ShapeRef.new(shape: KeyArn, required: true, location_name: "KeyArn"))
@@ -895,6 +910,19 @@ module Aws::PaymentCryptographyData
895
910
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
896
911
  end)
897
912
 
913
+ api.add_operation(:generate_auth_request_cryptogram, Seahorse::Model::Operation.new.tap do |o|
914
+ o.name = "GenerateAuthRequestCryptogram"
915
+ o.http_method = "POST"
916
+ o.http_request_uri = "/cryptogram/generate"
917
+ o.input = Shapes::ShapeRef.new(shape: GenerateAuthRequestCryptogramInput)
918
+ o.output = Shapes::ShapeRef.new(shape: GenerateAuthRequestCryptogramOutput)
919
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
920
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
921
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
922
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
923
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
924
+ end)
925
+
898
926
  api.add_operation(:generate_card_validation_data, Seahorse::Model::Operation.new.tap do |o|
899
927
  o.name = "GenerateCardValidationData"
900
928
  o.http_method = "POST"
@@ -1097,8 +1097,8 @@ module Aws::PaymentCryptographyData
1097
1097
  # @return [String]
1098
1098
  #
1099
1099
  # @!attribute [rw] kek_validation_type
1100
- # Parameter information for generating a random key for KEK validation
1101
- # to perform node-to-node initialization.
1100
+ # Defines whether to generate a KEK validation request or KEK
1101
+ # validation response for node-to-node initialization.
1102
1102
  # @return [Types::As2805KekValidationType]
1103
1103
  #
1104
1104
  # @!attribute [rw] random_key_send_variant_mask
@@ -1147,6 +1147,69 @@ module Aws::PaymentCryptographyData
1147
1147
  include Aws::Structure
1148
1148
  end
1149
1149
 
1150
+ # @!attribute [rw] key_identifier
1151
+ # The `keyARN` of the IMK-AC (TR31\_E0\_EMV\_MKEY\_APP\_CRYPTOGRAMS)
1152
+ # that Amazon Web Services Payment Cryptography uses to generate the
1153
+ # ARQC.
1154
+ # @return [String]
1155
+ #
1156
+ # @!attribute [rw] transaction_data
1157
+ # The transaction data that Amazon Web Services Payment Cryptography
1158
+ # uses for ARQC generation. The same transaction data is used for ARQC
1159
+ # verification by the issuer using VerifyAuthRequestCryptogram.
1160
+ # @return [String]
1161
+ #
1162
+ # @!attribute [rw] major_key_derivation_mode
1163
+ # The method to use when deriving the major encryption key for ARQC
1164
+ # generation within Amazon Web Services Payment Cryptography.
1165
+ # @return [String]
1166
+ #
1167
+ # @!attribute [rw] session_key_derivation_attributes
1168
+ # The attributes and values to use for deriving a session key for ARQC
1169
+ # generation within Amazon Web Services Payment Cryptography.
1170
+ # @return [Types::SessionKeyDerivation]
1171
+ #
1172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateAuthRequestCryptogramInput AWS API Documentation
1173
+ #
1174
+ class GenerateAuthRequestCryptogramInput < Struct.new(
1175
+ :key_identifier,
1176
+ :transaction_data,
1177
+ :major_key_derivation_mode,
1178
+ :session_key_derivation_attributes)
1179
+ SENSITIVE = [:transaction_data]
1180
+ include Aws::Structure
1181
+ end
1182
+
1183
+ # @!attribute [rw] key_arn
1184
+ # The `keyARN` of the IMK-AC that Amazon Web Services Payment
1185
+ # Cryptography uses for ARQC generation.
1186
+ # @return [String]
1187
+ #
1188
+ # @!attribute [rw] key_check_value
1189
+ # The key check value (KCV) of the encryption key. The KCV is used to
1190
+ # check if all parties holding a given key have the same key or to
1191
+ # detect that a key has changed.
1192
+ #
1193
+ # Amazon Web Services Payment Cryptography computes the KCV according
1194
+ # to the CMAC specification.
1195
+ # @return [String]
1196
+ #
1197
+ # @!attribute [rw] auth_request_cryptogram
1198
+ # The Authorization Request Cryptogram (ARQC) generated by Amazon Web
1199
+ # Services Payment Cryptography using the specified key and
1200
+ # transaction data.
1201
+ # @return [String]
1202
+ #
1203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateAuthRequestCryptogramOutput AWS API Documentation
1204
+ #
1205
+ class GenerateAuthRequestCryptogramOutput < Struct.new(
1206
+ :key_arn,
1207
+ :key_check_value,
1208
+ :auth_request_cryptogram)
1209
+ SENSITIVE = [:auth_request_cryptogram]
1210
+ include Aws::Structure
1211
+ end
1212
+
1150
1213
  # @!attribute [rw] key_identifier
1151
1214
  # The `keyARN` of the CVK encryption key that Amazon Web Services
1152
1215
  # Payment Cryptography uses to generate card data.
@@ -1739,10 +1802,16 @@ module Aws::PaymentCryptographyData
1739
1802
  # request.
1740
1803
  # @return [String]
1741
1804
  #
1805
+ # @!attribute [rw] random_key_max_length
1806
+ # The maximum length of the random key to generate for a KEK
1807
+ # validation request.
1808
+ # @return [String]
1809
+ #
1742
1810
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/KekValidationRequest AWS API Documentation
1743
1811
  #
1744
1812
  class KekValidationRequest < Struct.new(
1745
- :derive_key_algorithm)
1813
+ :derive_key_algorithm,
1814
+ :random_key_max_length)
1746
1815
  SENSITIVE = []
1747
1816
  include Aws::Structure
1748
1817
  end
@@ -1751,7 +1820,8 @@ module Aws::PaymentCryptographyData
1751
1820
  # node-to-node initialization.
1752
1821
  #
1753
1822
  # @!attribute [rw] random_key_send
1754
- # The random key for generating a KEK validation response.
1823
+ # The random key send value received from the initiating node to
1824
+ # generate a KEK validation response.
1755
1825
  # @return [String]
1756
1826
  #
1757
1827
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/KekValidationResponse AWS API Documentation
@@ -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.51.0'
58
+ GEM_VERSION = '1.53.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -120,7 +120,8 @@ module Aws
120
120
  key_identifier: ::String,
121
121
  kek_validation_type: {
122
122
  kek_validation_request: {
123
- derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224")
123
+ derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224"),
124
+ random_key_max_length: ("BYTES_8" | "BYTES_16" | "BYTES_24")?
124
125
  }?,
125
126
  kek_validation_response: {
126
127
  random_key_send: ::String
@@ -130,6 +131,21 @@ module Aws
130
131
  ) -> _GenerateAs2805KekValidationResponseSuccess
131
132
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GenerateAs2805KekValidationResponseSuccess
132
133
 
134
+ interface _GenerateAuthRequestCryptogramResponseSuccess
135
+ include ::Seahorse::Client::_ResponseSuccess[Types::GenerateAuthRequestCryptogramOutput]
136
+ def key_arn: () -> ::String
137
+ def key_check_value: () -> ::String
138
+ def auth_request_cryptogram: () -> ::String
139
+ end
140
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PaymentCryptographyData/Client.html#generate_auth_request_cryptogram-instance_method
141
+ def generate_auth_request_cryptogram: (
142
+ key_identifier: ::String,
143
+ transaction_data: ::String,
144
+ major_key_derivation_mode: ("EMV_OPTION_A" | "EMV_OPTION_B"),
145
+ session_key_derivation_attributes: Params::session_key_derivation
146
+ ) -> _GenerateAuthRequestCryptogramResponseSuccess
147
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GenerateAuthRequestCryptogramResponseSuccess
148
+
133
149
  interface _GenerateCardValidationDataResponseSuccess
134
150
  include ::Seahorse::Client::_ResponseSuccess[Types::GenerateCardValidationDataOutput]
135
151
  def key_arn: () -> ::String
@@ -402,32 +418,7 @@ module Aws
402
418
  transaction_data: ::String,
403
419
  auth_request_cryptogram: ::String,
404
420
  major_key_derivation_mode: ("EMV_OPTION_A" | "EMV_OPTION_B"),
405
- session_key_derivation_attributes: {
406
- emv_common: {
407
- primary_account_number: ::String,
408
- pan_sequence_number: ::String,
409
- application_transaction_counter: ::String
410
- }?,
411
- mastercard: {
412
- primary_account_number: ::String,
413
- pan_sequence_number: ::String,
414
- application_transaction_counter: ::String,
415
- unpredictable_number: ::String
416
- }?,
417
- emv_2000: {
418
- primary_account_number: ::String,
419
- pan_sequence_number: ::String,
420
- application_transaction_counter: ::String
421
- }?,
422
- amex: {
423
- primary_account_number: ::String,
424
- pan_sequence_number: ::String
425
- }?,
426
- visa: {
427
- primary_account_number: ::String,
428
- pan_sequence_number: ::String
429
- }?
430
- },
421
+ session_key_derivation_attributes: Params::session_key_derivation,
431
422
  ?auth_response_attributes: {
432
423
  arpc_method_1: {
433
424
  auth_response_code: ::String
data/sig/params.rbs CHANGED
@@ -55,6 +55,33 @@ module Aws
55
55
  key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC" | "SHA_1")?
56
56
  }
57
57
 
58
+ type session_key_derivation = {
59
+ emv_common: {
60
+ primary_account_number: ::String,
61
+ pan_sequence_number: ::String,
62
+ application_transaction_counter: ::String
63
+ }?,
64
+ mastercard: {
65
+ primary_account_number: ::String,
66
+ pan_sequence_number: ::String,
67
+ application_transaction_counter: ::String,
68
+ unpredictable_number: ::String
69
+ }?,
70
+ emv_2000: {
71
+ primary_account_number: ::String,
72
+ pan_sequence_number: ::String,
73
+ application_transaction_counter: ::String
74
+ }?,
75
+ amex: {
76
+ primary_account_number: ::String,
77
+ pan_sequence_number: ::String
78
+ }?,
79
+ visa: {
80
+ primary_account_number: ::String,
81
+ pan_sequence_number: ::String
82
+ }?
83
+ }
84
+
58
85
  type mac_algorithm_emv = {
59
86
  major_key_derivation_mode: ("EMV_OPTION_A" | "EMV_OPTION_B"),
60
87
  primary_account_number: ::String,
data/sig/types.rbs CHANGED
@@ -352,6 +352,21 @@ module Aws::PaymentCryptographyData
352
352
  SENSITIVE: [:random_key_send, :random_key_receive]
353
353
  end
354
354
 
355
+ class GenerateAuthRequestCryptogramInput
356
+ attr_accessor key_identifier: ::String
357
+ attr_accessor transaction_data: ::String
358
+ attr_accessor major_key_derivation_mode: ("EMV_OPTION_A" | "EMV_OPTION_B")
359
+ attr_accessor session_key_derivation_attributes: Types::SessionKeyDerivation
360
+ SENSITIVE: [:transaction_data]
361
+ end
362
+
363
+ class GenerateAuthRequestCryptogramOutput
364
+ attr_accessor key_arn: ::String
365
+ attr_accessor key_check_value: ::String
366
+ attr_accessor auth_request_cryptogram: ::String
367
+ SENSITIVE: [:auth_request_cryptogram]
368
+ end
369
+
355
370
  class GenerateCardValidationDataInput
356
371
  attr_accessor key_identifier: ::String
357
372
  attr_accessor primary_account_number: ::String
@@ -495,6 +510,7 @@ module Aws::PaymentCryptographyData
495
510
 
496
511
  class KekValidationRequest
497
512
  attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224")
513
+ attr_accessor random_key_max_length: ("BYTES_8" | "BYTES_16" | "BYTES_24")
498
514
  SENSITIVE: []
499
515
  end
500
516
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-paymentcryptographydata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.51.0
4
+ version: 1.53.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -18,7 +18,7 @@ dependencies:
18
18
  version: '3'
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 3.247.0
21
+ version: 3.248.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '3'
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 3.247.0
31
+ version: 3.248.0
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: aws-sigv4
34
34
  requirement: !ruby/object:Gem::Requirement