aws-sdk-paymentcryptographydata 1.25.0 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,6 +23,51 @@ module Aws::PaymentCryptographyData
23
23
  include Aws::Structure
24
24
  end
25
25
 
26
+ # Parameters to derive the confidentiality and integrity keys for a
27
+ # payment card using Amex derivation method.
28
+ #
29
+ # @!attribute [rw] major_key_derivation_mode
30
+ # The method to use when deriving the master key for a payment card
31
+ # using Amex derivation.
32
+ # @return [String]
33
+ #
34
+ # @!attribute [rw] primary_account_number
35
+ # The Primary Account Number (PAN) of the cardholder.
36
+ # @return [String]
37
+ #
38
+ # @!attribute [rw] pan_sequence_number
39
+ # A number that identifies and differentiates payment cards with the
40
+ # same Primary Account Number (PAN). Typically 00 is used, if no value
41
+ # is provided by the terminal.
42
+ # @return [String]
43
+ #
44
+ # @!attribute [rw] application_transaction_counter
45
+ # The transaction counter of the current transaction that is provided
46
+ # by the terminal during transaction processing.
47
+ # @return [String]
48
+ #
49
+ # @!attribute [rw] authorization_request_key_identifier
50
+ # The `keyArn` of the issuer master key for cryptogram (IMK-AC) for
51
+ # the payment card.
52
+ # @return [String]
53
+ #
54
+ # @!attribute [rw] current_pin_attributes
55
+ # The encrypted pinblock of the old pin stored on the chip card.
56
+ # @return [Types::CurrentPinAttributes]
57
+ #
58
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/AmexAttributes AWS API Documentation
59
+ #
60
+ class AmexAttributes < Struct.new(
61
+ :major_key_derivation_mode,
62
+ :primary_account_number,
63
+ :pan_sequence_number,
64
+ :application_transaction_counter,
65
+ :authorization_request_key_identifier,
66
+ :current_pin_attributes)
67
+ SENSITIVE = [:primary_account_number]
68
+ include Aws::Structure
69
+ end
70
+
26
71
  # Card data parameters that are required to generate a Card Security
27
72
  # Code (CSC2) for an AMEX payment card.
28
73
  #
@@ -345,6 +390,26 @@ module Aws::PaymentCryptographyData
345
390
  include Aws::Structure
346
391
  end
347
392
 
393
+ # The parameter values of the current PIN to be changed on the EMV chip
394
+ # card.
395
+ #
396
+ # @!attribute [rw] current_pin_pek_identifier
397
+ # The `keyArn` of the current PIN PEK.
398
+ # @return [String]
399
+ #
400
+ # @!attribute [rw] current_encrypted_pin_block
401
+ # The encrypted pinblock of the current pin stored on the chip card.
402
+ # @return [String]
403
+ #
404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CurrentPinAttributes AWS API Documentation
405
+ #
406
+ class CurrentPinAttributes < Struct.new(
407
+ :current_pin_pek_identifier,
408
+ :current_encrypted_pin_block)
409
+ SENSITIVE = [:current_encrypted_pin_block]
410
+ include Aws::Structure
411
+ end
412
+
348
413
  # @!attribute [rw] key_identifier
349
414
  # The `keyARN` of the encryption key that Amazon Web Services Payment
350
415
  # Cryptography uses for ciphertext decryption.
@@ -406,6 +471,57 @@ module Aws::PaymentCryptographyData
406
471
  include Aws::Structure
407
472
  end
408
473
 
474
+ # Parameters to derive the payment card specific confidentiality and
475
+ # integrity keys.
476
+ #
477
+ # @note DerivationMethodAttributes is a union - when making an API calls you must set exactly one of the members.
478
+ #
479
+ # @!attribute [rw] emv_common
480
+ # Parameters to derive the confidentiality and integrity keys for a
481
+ # payment card using Emv common derivation method.
482
+ # @return [Types::EmvCommonAttributes]
483
+ #
484
+ # @!attribute [rw] amex
485
+ # Parameters to derive the confidentiality and integrity keys for a
486
+ # payment card using Amex derivation method.
487
+ # @return [Types::AmexAttributes]
488
+ #
489
+ # @!attribute [rw] visa
490
+ # Parameters to derive the confidentiality and integrity keys for a a
491
+ # payment card using Visa derivation method.
492
+ # @return [Types::VisaAttributes]
493
+ #
494
+ # @!attribute [rw] emv_2000
495
+ # Parameters to derive the confidentiality and integrity keys for a
496
+ # payment card using Emv2000 derivation method.
497
+ # @return [Types::Emv2000Attributes]
498
+ #
499
+ # @!attribute [rw] mastercard
500
+ # Parameters to derive the confidentiality and integrity keys for a
501
+ # payment card using Mastercard derivation method.
502
+ # @return [Types::MasterCardAttributes]
503
+ #
504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DerivationMethodAttributes AWS API Documentation
505
+ #
506
+ class DerivationMethodAttributes < Struct.new(
507
+ :emv_common,
508
+ :amex,
509
+ :visa,
510
+ :emv_2000,
511
+ :mastercard,
512
+ :unknown)
513
+ SENSITIVE = []
514
+ include Aws::Structure
515
+ include Aws::Structure::Union
516
+
517
+ class EmvCommon < DerivationMethodAttributes; end
518
+ class Amex < DerivationMethodAttributes; end
519
+ class Visa < DerivationMethodAttributes; end
520
+ class Emv2000 < DerivationMethodAttributes; end
521
+ class Mastercard < DerivationMethodAttributes; end
522
+ class Unknown < DerivationMethodAttributes; end
523
+ end
524
+
409
525
  # Parameters that are required to generate or verify dCVC (Dynamic Card
410
526
  # Verification Code).
411
527
  #
@@ -598,6 +714,142 @@ module Aws::PaymentCryptographyData
598
714
  include Aws::Structure
599
715
  end
600
716
 
717
+ # Parameters required to establish ECDH based key exchange.
718
+ #
719
+ # @!attribute [rw] certificate_authority_public_key_identifier
720
+ # The `keyArn` of the certificate that signed the client's
721
+ # `PublicKeyCertificate`.
722
+ # @return [String]
723
+ #
724
+ # @!attribute [rw] public_key_certificate
725
+ # The client's public key certificate in PEM format (base64 encoded)
726
+ # to use for ECDH key derivation.
727
+ # @return [String]
728
+ #
729
+ # @!attribute [rw] key_algorithm
730
+ # The key algorithm of the derived ECDH key.
731
+ # @return [String]
732
+ #
733
+ # @!attribute [rw] key_derivation_function
734
+ # The key derivation function to use for deriving a key using ECDH.
735
+ # @return [String]
736
+ #
737
+ # @!attribute [rw] key_derivation_hash_algorithm
738
+ # The hash type to use for deriving a key using ECDH.
739
+ # @return [String]
740
+ #
741
+ # @!attribute [rw] shared_information
742
+ # A byte string containing information that binds the ECDH derived key
743
+ # to the two parties involved or to the context of the key.
744
+ #
745
+ # It may include details like identities of the two parties deriving
746
+ # the key, context of the operation, session IDs, and optionally a
747
+ # nonce. It must not contain zero bytes, and re-using shared
748
+ # information for multiple ECDH key derivations is not recommended.
749
+ # @return [String]
750
+ #
751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/EcdhDerivationAttributes AWS API Documentation
752
+ #
753
+ class EcdhDerivationAttributes < Struct.new(
754
+ :certificate_authority_public_key_identifier,
755
+ :public_key_certificate,
756
+ :key_algorithm,
757
+ :key_derivation_function,
758
+ :key_derivation_hash_algorithm,
759
+ :shared_information)
760
+ SENSITIVE = [:public_key_certificate]
761
+ include Aws::Structure
762
+ end
763
+
764
+ # Parameters to derive the confidentiality and integrity keys for a
765
+ # payment card using EMV2000 deruv.
766
+ #
767
+ # @!attribute [rw] major_key_derivation_mode
768
+ # The method to use when deriving the master key for the payment card.
769
+ # @return [String]
770
+ #
771
+ # @!attribute [rw] primary_account_number
772
+ # The Primary Account Number (PAN) of the cardholder.
773
+ # @return [String]
774
+ #
775
+ # @!attribute [rw] pan_sequence_number
776
+ # A number that identifies and differentiates payment cards with the
777
+ # same Primary Account Number (PAN). Typically 00 is used, if no value
778
+ # is provided by the terminal.
779
+ # @return [String]
780
+ #
781
+ # @!attribute [rw] application_transaction_counter
782
+ # The transaction counter of the current transaction that is provided
783
+ # by the terminal during transaction processing.
784
+ # @return [String]
785
+ #
786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/Emv2000Attributes AWS API Documentation
787
+ #
788
+ class Emv2000Attributes < Struct.new(
789
+ :major_key_derivation_mode,
790
+ :primary_account_number,
791
+ :pan_sequence_number,
792
+ :application_transaction_counter)
793
+ SENSITIVE = [:primary_account_number]
794
+ include Aws::Structure
795
+ end
796
+
797
+ # Parameters to derive the confidentiality and integrity keys for an Emv
798
+ # common payment card.
799
+ #
800
+ # @!attribute [rw] major_key_derivation_mode
801
+ # The method to use when deriving the master key for the payment card.
802
+ # @return [String]
803
+ #
804
+ # @!attribute [rw] primary_account_number
805
+ # The Primary Account Number (PAN) of the cardholder.
806
+ # @return [String]
807
+ #
808
+ # @!attribute [rw] pan_sequence_number
809
+ # A number that identifies and differentiates payment cards with the
810
+ # same Primary Account Number (PAN). Typically 00 is used, if no value
811
+ # is provided by the terminal.
812
+ # @return [String]
813
+ #
814
+ # @!attribute [rw] application_cryptogram
815
+ # The application cryptogram for the current transaction that is
816
+ # provided by the terminal during transaction processing.
817
+ # @return [String]
818
+ #
819
+ # @!attribute [rw] mode
820
+ # The block cipher method to use for encryption.
821
+ # @return [String]
822
+ #
823
+ # @!attribute [rw] pin_block_padding_type
824
+ # The padding to be added to the PIN block prior to encryption.
825
+ #
826
+ # Padding type should be `ISO_IEC_7816_4`, if `PinBlockLengthPosition`
827
+ # is set to `FRONT_OF_PIN_BLOCK`. No padding is required, if
828
+ # `PinBlockLengthPosition` is set to `NONE`.
829
+ # @return [String]
830
+ #
831
+ # @!attribute [rw] pin_block_length_position
832
+ # Specifies if PIN block length should be added to front of the pin
833
+ # block.
834
+ #
835
+ # If value is set to `FRONT_OF_PIN_BLOCK`, then PIN block padding type
836
+ # should be `ISO_IEC_7816_4`.
837
+ # @return [String]
838
+ #
839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/EmvCommonAttributes AWS API Documentation
840
+ #
841
+ class EmvCommonAttributes < Struct.new(
842
+ :major_key_derivation_mode,
843
+ :primary_account_number,
844
+ :pan_sequence_number,
845
+ :application_cryptogram,
846
+ :mode,
847
+ :pin_block_padding_type,
848
+ :pin_block_length_position)
849
+ SENSITIVE = [:primary_account_number, :application_cryptogram]
850
+ include Aws::Structure
851
+ end
852
+
601
853
  # Parameters for plaintext encryption using EMV keys.
602
854
  #
603
855
  # @!attribute [rw] major_key_derivation_mode
@@ -613,7 +865,8 @@ module Aws::PaymentCryptographyData
613
865
  #
614
866
  # @!attribute [rw] pan_sequence_number
615
867
  # A number that identifies and differentiates payment cards with the
616
- # same Primary Account Number (PAN).
868
+ # same Primary Account Number (PAN). Typically 00 is used, if no value
869
+ # is provided by the terminal.
617
870
  # @return [String]
618
871
  #
619
872
  # @!attribute [rw] session_derivation_data
@@ -821,6 +1074,114 @@ module Aws::PaymentCryptographyData
821
1074
  include Aws::Structure
822
1075
  end
823
1076
 
1077
+ # @!attribute [rw] new_pin_pek_identifier
1078
+ # The `keyARN` of the PEK protecting the incoming new encrypted PIN
1079
+ # block.
1080
+ # @return [String]
1081
+ #
1082
+ # @!attribute [rw] new_encrypted_pin_block
1083
+ # The incoming new encrypted PIN block data for offline pin change on
1084
+ # an EMV card.
1085
+ # @return [String]
1086
+ #
1087
+ # @!attribute [rw] pin_block_format
1088
+ # The PIN encoding format of the incoming new encrypted PIN block as
1089
+ # specified in ISO 9564.
1090
+ # @return [String]
1091
+ #
1092
+ # @!attribute [rw] secure_messaging_integrity_key_identifier
1093
+ # The `keyARN` of the issuer master key (IMK-SMI) used to authenticate
1094
+ # the issuer script response.
1095
+ # @return [String]
1096
+ #
1097
+ # @!attribute [rw] secure_messaging_confidentiality_key_identifier
1098
+ # The `keyARN` of the issuer master key (IMK-SMC) used to protect the
1099
+ # PIN block data in the issuer script response.
1100
+ # @return [String]
1101
+ #
1102
+ # @!attribute [rw] message_data
1103
+ # The message data is the APDU command from the card reader or
1104
+ # terminal. The target encrypted PIN block, after translation to ISO2
1105
+ # format, is appended to this message data to generate an issuer
1106
+ # script response.
1107
+ # @return [String]
1108
+ #
1109
+ # @!attribute [rw] derivation_method_attributes
1110
+ # The attributes and data values to derive payment card specific
1111
+ # confidentiality and integrity keys.
1112
+ # @return [Types::DerivationMethodAttributes]
1113
+ #
1114
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateMacEmvPinChangeInput AWS API Documentation
1115
+ #
1116
+ class GenerateMacEmvPinChangeInput < Struct.new(
1117
+ :new_pin_pek_identifier,
1118
+ :new_encrypted_pin_block,
1119
+ :pin_block_format,
1120
+ :secure_messaging_integrity_key_identifier,
1121
+ :secure_messaging_confidentiality_key_identifier,
1122
+ :message_data,
1123
+ :derivation_method_attributes)
1124
+ SENSITIVE = [:new_encrypted_pin_block, :message_data]
1125
+ include Aws::Structure
1126
+ end
1127
+
1128
+ # @!attribute [rw] new_pin_pek_arn
1129
+ # Returns the `keyArn` of the PEK protecting the incoming new
1130
+ # encrypted PIN block.
1131
+ # @return [String]
1132
+ #
1133
+ # @!attribute [rw] secure_messaging_integrity_key_arn
1134
+ # Returns the `keyArn` of the IMK-SMI used by the operation.
1135
+ # @return [String]
1136
+ #
1137
+ # @!attribute [rw] secure_messaging_confidentiality_key_arn
1138
+ # Returns the `keyArn` of the IMK-SMC used by the operation.
1139
+ # @return [String]
1140
+ #
1141
+ # @!attribute [rw] mac
1142
+ # Returns the mac of the issuer script containing message data and
1143
+ # appended target encrypted pin block in ISO2 format.
1144
+ # @return [String]
1145
+ #
1146
+ # @!attribute [rw] encrypted_pin_block
1147
+ # Returns the incoming new encrpted PIN block.
1148
+ # @return [String]
1149
+ #
1150
+ # @!attribute [rw] new_pin_pek_key_check_value
1151
+ # The key check value (KCV) of the PEK uprotecting the incoming new
1152
+ # encrypted PIN block.
1153
+ # @return [String]
1154
+ #
1155
+ # @!attribute [rw] secure_messaging_integrity_key_check_value
1156
+ # The key check value (KCV) of the SMI issuer master key used by the
1157
+ # operation.
1158
+ # @return [String]
1159
+ #
1160
+ # @!attribute [rw] secure_messaging_confidentiality_key_check_value
1161
+ # The key check value (KCV) of the SMC issuer master key used by the
1162
+ # operation.
1163
+ # @return [String]
1164
+ #
1165
+ # @!attribute [rw] visa_amex_derivation_outputs
1166
+ # The attribute values used for Amex and Visa derivation methods.
1167
+ # @return [Types::VisaAmexDerivationOutputs]
1168
+ #
1169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateMacEmvPinChangeOutput AWS API Documentation
1170
+ #
1171
+ class GenerateMacEmvPinChangeOutput < Struct.new(
1172
+ :new_pin_pek_arn,
1173
+ :secure_messaging_integrity_key_arn,
1174
+ :secure_messaging_confidentiality_key_arn,
1175
+ :mac,
1176
+ :encrypted_pin_block,
1177
+ :new_pin_pek_key_check_value,
1178
+ :secure_messaging_integrity_key_check_value,
1179
+ :secure_messaging_confidentiality_key_check_value,
1180
+ :visa_amex_derivation_outputs)
1181
+ SENSITIVE = [:mac, :encrypted_pin_block]
1182
+ include Aws::Structure
1183
+ end
1184
+
824
1185
  # @!attribute [rw] key_identifier
825
1186
  # The `keyARN` of the MAC generation encryption key.
826
1187
  # @return [String]
@@ -886,7 +1247,8 @@ module Aws::PaymentCryptographyData
886
1247
  #
887
1248
  # @!attribute [rw] encryption_key_identifier
888
1249
  # The `keyARN` of the PEK that Amazon Web Services Payment
889
- # Cryptography uses to encrypt the PIN Block.
1250
+ # Cryptography uses to encrypt the PIN Block. For ECDH, it is the
1251
+ # `keyARN` of the asymmetric ECC key.
890
1252
  # @return [String]
891
1253
  #
892
1254
  # @!attribute [rw] generation_attributes
@@ -917,6 +1279,11 @@ module Aws::PaymentCryptographyData
917
1279
  # except that the fill digits are random values from 10 to 15.
918
1280
  # @return [String]
919
1281
  #
1282
+ # @!attribute [rw] encryption_wrapped_key
1283
+ # Parameter information of a WrappedKeyBlock for encryption key
1284
+ # exchange.
1285
+ # @return [Types::WrappedKey]
1286
+ #
920
1287
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GeneratePinDataInput AWS API Documentation
921
1288
  #
922
1289
  class GeneratePinDataInput < Struct.new(
@@ -925,7 +1292,8 @@ module Aws::PaymentCryptographyData
925
1292
  :generation_attributes,
926
1293
  :pin_data_length,
927
1294
  :primary_account_number,
928
- :pin_block_format)
1295
+ :pin_block_format,
1296
+ :encryption_wrapped_key)
929
1297
  SENSITIVE = [:primary_account_number]
930
1298
  include Aws::Structure
931
1299
  end
@@ -946,7 +1314,8 @@ module Aws::PaymentCryptographyData
946
1314
  #
947
1315
  # @!attribute [rw] encryption_key_arn
948
1316
  # The `keyARN` of the PEK that Amazon Web Services Payment
949
- # Cryptography uses for encrypted pin block generation.
1317
+ # Cryptography uses for encrypted pin block generation. For ECDH, it
1318
+ # is the `keyARN` of the asymmetric ECC key.
950
1319
  # @return [String]
951
1320
  #
952
1321
  # @!attribute [rw] encryption_key_check_value
@@ -1270,6 +1639,39 @@ module Aws::PaymentCryptographyData
1270
1639
  class Unknown < MacAttributes; end
1271
1640
  end
1272
1641
 
1642
+ # Parameters to derive the confidentiality and integrity keys for a
1643
+ # Mastercard payment card.
1644
+ #
1645
+ # @!attribute [rw] major_key_derivation_mode
1646
+ # The method to use when deriving the master key for the payment card.
1647
+ # @return [String]
1648
+ #
1649
+ # @!attribute [rw] primary_account_number
1650
+ # The Primary Account Number (PAN) of the cardholder.
1651
+ # @return [String]
1652
+ #
1653
+ # @!attribute [rw] pan_sequence_number
1654
+ # A number that identifies and differentiates payment cards with the
1655
+ # same Primary Account Number (PAN). Typically 00 is used, if no value
1656
+ # is provided by the terminal.
1657
+ # @return [String]
1658
+ #
1659
+ # @!attribute [rw] application_cryptogram
1660
+ # The application cryptogram for the current transaction that is
1661
+ # provided by the terminal during transaction processing.
1662
+ # @return [String]
1663
+ #
1664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/MasterCardAttributes AWS API Documentation
1665
+ #
1666
+ class MasterCardAttributes < Struct.new(
1667
+ :major_key_derivation_mode,
1668
+ :primary_account_number,
1669
+ :pan_sequence_number,
1670
+ :application_cryptogram)
1671
+ SENSITIVE = [:primary_account_number, :application_cryptogram]
1672
+ include Aws::Structure
1673
+ end
1674
+
1273
1675
  # Parameters that are required to generate, translate, or verify PIN
1274
1676
  # data.
1275
1677
  #
@@ -1763,14 +2165,15 @@ module Aws::PaymentCryptographyData
1763
2165
  # The `keyARN` of the encryption key under which incoming PIN block
1764
2166
  # data is encrypted. This key type can be PEK or BDK.
1765
2167
  #
1766
- # When a WrappedKeyBlock is provided, this value will be the
1767
- # identifier to the key wrapping key for PIN block. Otherwise, it is
1768
- # the key identifier used to perform the operation.
2168
+ # For dynamic keys, it is the `keyARN` of KEK of the TR-31 wrapped
2169
+ # PEK. For ECDH, it is the `keyARN` of the asymmetric ECC key.
1769
2170
  # @return [String]
1770
2171
  #
1771
2172
  # @!attribute [rw] outgoing_key_identifier
1772
2173
  # The `keyARN` of the encryption key for encrypting outgoing PIN block
1773
2174
  # data. This key type can be PEK or BDK.
2175
+ #
2176
+ # For ECDH, it is the `keyARN` of the asymmetric ECC key.
1774
2177
  # @return [String]
1775
2178
  #
1776
2179
  # @!attribute [rw] incoming_translation_attributes
@@ -2210,6 +2613,11 @@ module Aws::PaymentCryptographyData
2210
2613
  # The attributes and values for the DUKPT encrypted PIN block data.
2211
2614
  # @return [Types::DukptAttributes]
2212
2615
  #
2616
+ # @!attribute [rw] encryption_wrapped_key
2617
+ # Parameter information of a WrappedKeyBlock for encryption key
2618
+ # exchange.
2619
+ # @return [Types::WrappedKey]
2620
+ #
2213
2621
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyPinDataInput AWS API Documentation
2214
2622
  #
2215
2623
  class VerifyPinDataInput < Struct.new(
@@ -2220,7 +2628,8 @@ module Aws::PaymentCryptographyData
2220
2628
  :primary_account_number,
2221
2629
  :pin_block_format,
2222
2630
  :pin_data_length,
2223
- :dukpt_attributes)
2631
+ :dukpt_attributes,
2632
+ :encryption_wrapped_key)
2224
2633
  SENSITIVE = [:encrypted_pin_block, :primary_account_number]
2225
2634
  include Aws::Structure
2226
2635
  end
@@ -2264,6 +2673,81 @@ module Aws::PaymentCryptographyData
2264
2673
  include Aws::Structure
2265
2674
  end
2266
2675
 
2676
+ # The attributes values used for Amex and Visa derivation methods.
2677
+ #
2678
+ # @!attribute [rw] authorization_request_key_arn
2679
+ # The `keyArn` of the issuer master key for cryptogram (IMK-AC) used
2680
+ # by the operation.
2681
+ # @return [String]
2682
+ #
2683
+ # @!attribute [rw] authorization_request_key_check_value
2684
+ # The key check value (KCV) of the issuer master key for cryptogram
2685
+ # (IMK-AC) used by the operation.
2686
+ # @return [String]
2687
+ #
2688
+ # @!attribute [rw] current_pin_pek_arn
2689
+ # The `keyArn` of the current PIN PEK.
2690
+ # @return [String]
2691
+ #
2692
+ # @!attribute [rw] current_pin_pek_key_check_value
2693
+ # The key check value (KCV) of the current PIN PEK.
2694
+ # @return [String]
2695
+ #
2696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VisaAmexDerivationOutputs AWS API Documentation
2697
+ #
2698
+ class VisaAmexDerivationOutputs < Struct.new(
2699
+ :authorization_request_key_arn,
2700
+ :authorization_request_key_check_value,
2701
+ :current_pin_pek_arn,
2702
+ :current_pin_pek_key_check_value)
2703
+ SENSITIVE = []
2704
+ include Aws::Structure
2705
+ end
2706
+
2707
+ # Parameters to derive the confidentiality and integrity keys for a Visa
2708
+ # payment card.
2709
+ #
2710
+ # @!attribute [rw] major_key_derivation_mode
2711
+ # The method to use when deriving the master key for the payment card.
2712
+ # @return [String]
2713
+ #
2714
+ # @!attribute [rw] primary_account_number
2715
+ # The Primary Account Number (PAN) of the cardholder.
2716
+ # @return [String]
2717
+ #
2718
+ # @!attribute [rw] pan_sequence_number
2719
+ # A number that identifies and differentiates payment cards with the
2720
+ # same Primary Account Number (PAN). Typically 00 is used, if no value
2721
+ # is provided by the terminal.
2722
+ # @return [String]
2723
+ #
2724
+ # @!attribute [rw] application_transaction_counter
2725
+ # The transaction counter of the current transaction that is provided
2726
+ # by the terminal during transaction processing.
2727
+ # @return [String]
2728
+ #
2729
+ # @!attribute [rw] authorization_request_key_identifier
2730
+ # The `keyArn` of the issuer master key for cryptogram (IMK-AC) for
2731
+ # the payment card.
2732
+ # @return [String]
2733
+ #
2734
+ # @!attribute [rw] current_pin_attributes
2735
+ # The encrypted pinblock of the old pin stored on the chip card.
2736
+ # @return [Types::CurrentPinAttributes]
2737
+ #
2738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VisaAttributes AWS API Documentation
2739
+ #
2740
+ class VisaAttributes < Struct.new(
2741
+ :major_key_derivation_mode,
2742
+ :primary_account_number,
2743
+ :pan_sequence_number,
2744
+ :application_transaction_counter,
2745
+ :authorization_request_key_identifier,
2746
+ :current_pin_attributes)
2747
+ SENSITIVE = [:primary_account_number]
2748
+ include Aws::Structure
2749
+ end
2750
+
2267
2751
  # Parameters that are required to generate or verify Visa PIN.
2268
2752
  #
2269
2753
  # @!attribute [rw] pin_verification_key_index
@@ -2360,16 +2844,22 @@ module Aws::PaymentCryptographyData
2360
2844
  # The TR-31 wrapped key block.
2361
2845
  # @return [String]
2362
2846
  #
2847
+ # @!attribute [rw] diffie_hellman_symmetric_key
2848
+ # The parameter information for deriving a ECDH shared key.
2849
+ # @return [Types::EcdhDerivationAttributes]
2850
+ #
2363
2851
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/WrappedKeyMaterial AWS API Documentation
2364
2852
  #
2365
2853
  class WrappedKeyMaterial < Struct.new(
2366
2854
  :tr_31_key_block,
2855
+ :diffie_hellman_symmetric_key,
2367
2856
  :unknown)
2368
2857
  SENSITIVE = [:tr_31_key_block]
2369
2858
  include Aws::Structure
2370
2859
  include Aws::Structure::Union
2371
2860
 
2372
2861
  class Tr31KeyBlock < WrappedKeyMaterial; end
2862
+ class DiffieHellmanSymmetricKey < WrappedKeyMaterial; end
2373
2863
  class Unknown < WrappedKeyMaterial; end
2374
2864
  end
2375
2865
 
@@ -55,7 +55,7 @@ module Aws::PaymentCryptographyData
55
55
  autoload :EndpointProvider, 'aws-sdk-paymentcryptographydata/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-paymentcryptographydata/endpoints'
57
57
 
58
- GEM_VERSION = '1.25.0'
58
+ GEM_VERSION = '1.27.0'
59
59
 
60
60
  end
61
61