aws-sdk-paymentcryptographydata 1.15.0 → 1.17.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.
@@ -312,6 +312,15 @@ module Aws::PaymentCryptographyData
312
312
  #
313
313
  # @option options [String] :session_token
314
314
  #
315
+ # @option options [Array] :sigv4a_signing_region_set
316
+ # A list of regions that should be signed with SigV4a signing. When
317
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
318
+ # in the following locations:
319
+ #
320
+ # * `Aws.config[:sigv4a_signing_region_set]`
321
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
322
+ # * `~/.aws/config`
323
+ #
315
324
  # @option options [Boolean] :stub_responses (false)
316
325
  # Causes the client to return stubbed responses. By default
317
326
  # fake responses are generated and returned. You can specify
@@ -466,15 +475,23 @@ module Aws::PaymentCryptographyData
466
475
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
467
476
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
468
477
  #
478
+ # @option params [required, String] :key_identifier
479
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
480
+ # Cryptography uses for ciphertext decryption.
481
+ #
482
+ # When a WrappedKeyBlock is provided, this value will be the identifier
483
+ # to the key wrapping key. Otherwise, it is the key identifier used to
484
+ # perform the operation.
485
+ #
469
486
  # @option params [required, String] :cipher_text
470
487
  # The ciphertext to decrypt.
471
488
  #
472
489
  # @option params [required, Types::EncryptionDecryptionAttributes] :decryption_attributes
473
490
  # The encryption key type and attributes for ciphertext decryption.
474
491
  #
475
- # @option params [required, String] :key_identifier
476
- # The `keyARN` of the encryption key that Amazon Web Services Payment
477
- # Cryptography uses for ciphertext decryption.
492
+ # @option params [Types::WrappedKey] :wrapped_key
493
+ # The WrappedKeyBlock containing the encryption key for ciphertext
494
+ # decryption.
478
495
  #
479
496
  # @return [Types::DecryptDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
480
497
  #
@@ -485,33 +502,39 @@ module Aws::PaymentCryptographyData
485
502
  # @example Request syntax with placeholder values
486
503
  #
487
504
  # resp = client.decrypt_data({
505
+ # key_identifier: "KeyArnOrKeyAliasType", # required
488
506
  # cipher_text: "HexEvenLengthBetween16And4096", # required
489
507
  # decryption_attributes: { # required
508
+ # symmetric: {
509
+ # mode: "ECB", # required, accepts ECB, CBC, CFB, CFB1, CFB8, CFB64, CFB128, OFB
510
+ # initialization_vector: "HexLength16Or32",
511
+ # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
512
+ # },
490
513
  # asymmetric: {
491
514
  # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
492
515
  # },
493
516
  # dukpt: {
517
+ # key_serial_number: "HexLengthBetween10And24", # required
518
+ # mode: "ECB", # accepts ECB, CBC
494
519
  # dukpt_key_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
495
520
  # dukpt_key_variant: "BIDIRECTIONAL", # accepts BIDIRECTIONAL, REQUEST, RESPONSE
496
521
  # initialization_vector: "HexLength16Or32",
497
- # key_serial_number: "HexLengthBetween10And24", # required
498
- # mode: "ECB", # accepts ECB, CBC
499
522
  # },
500
523
  # emv: {
501
- # initialization_vector: "HexLength16Or32",
502
524
  # major_key_derivation_mode: "EMV_OPTION_A", # required, accepts EMV_OPTION_A, EMV_OPTION_B
503
- # mode: "ECB", # accepts ECB, CBC
504
- # pan_sequence_number: "HexLengthEquals2", # required
505
525
  # primary_account_number: "NumberLengthBetween12And19", # required
526
+ # pan_sequence_number: "NumberLengthEquals2", # required
506
527
  # session_derivation_data: "HexLengthEquals16", # required
507
- # },
508
- # symmetric: {
528
+ # mode: "ECB", # accepts ECB, CBC
509
529
  # initialization_vector: "HexLength16Or32",
510
- # mode: "ECB", # required, accepts ECB, CBC, CFB, CFB1, CFB8, CFB64, CFB128, OFB
511
- # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
512
530
  # },
513
531
  # },
514
- # key_identifier: "KeyArnOrKeyAliasType", # required
532
+ # wrapped_key: {
533
+ # wrapped_key_material: { # required
534
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
535
+ # },
536
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
537
+ # },
515
538
  # })
516
539
  #
517
540
  # @example Response structure
@@ -586,13 +609,14 @@ module Aws::PaymentCryptographyData
586
609
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
587
610
  # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
588
611
  #
589
- # @option params [required, Types::EncryptionDecryptionAttributes] :encryption_attributes
590
- # The encryption key type and attributes for plaintext encryption.
591
- #
592
612
  # @option params [required, String] :key_identifier
593
613
  # The `keyARN` of the encryption key that Amazon Web Services Payment
594
614
  # Cryptography uses for plaintext encryption.
595
615
  #
616
+ # When a WrappedKeyBlock is provided, this value will be the identifier
617
+ # to the key wrapping key. Otherwise, it is the key identifier used to
618
+ # perform the operation.
619
+ #
596
620
  # @option params [required, String] :plain_text
597
621
  # The plaintext to be encrypted.
598
622
  #
@@ -608,49 +632,62 @@ module Aws::PaymentCryptographyData
608
632
  #
609
633
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/encrypt-data.html
610
634
  #
635
+ # @option params [required, Types::EncryptionDecryptionAttributes] :encryption_attributes
636
+ # The encryption key type and attributes for plaintext encryption.
637
+ #
638
+ # @option params [Types::WrappedKey] :wrapped_key
639
+ # The WrappedKeyBlock containing the encryption key for plaintext
640
+ # encryption.
641
+ #
611
642
  # @return [Types::EncryptDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
612
643
  #
613
- # * {Types::EncryptDataOutput#cipher_text #cipher_text} => String
614
644
  # * {Types::EncryptDataOutput#key_arn #key_arn} => String
615
645
  # * {Types::EncryptDataOutput#key_check_value #key_check_value} => String
646
+ # * {Types::EncryptDataOutput#cipher_text #cipher_text} => String
616
647
  #
617
648
  # @example Request syntax with placeholder values
618
649
  #
619
650
  # resp = client.encrypt_data({
651
+ # key_identifier: "KeyArnOrKeyAliasType", # required
652
+ # plain_text: "HexEvenLengthBetween16And4064", # required
620
653
  # encryption_attributes: { # required
654
+ # symmetric: {
655
+ # mode: "ECB", # required, accepts ECB, CBC, CFB, CFB1, CFB8, CFB64, CFB128, OFB
656
+ # initialization_vector: "HexLength16Or32",
657
+ # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
658
+ # },
621
659
  # asymmetric: {
622
660
  # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
623
661
  # },
624
662
  # dukpt: {
663
+ # key_serial_number: "HexLengthBetween10And24", # required
664
+ # mode: "ECB", # accepts ECB, CBC
625
665
  # dukpt_key_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
626
666
  # dukpt_key_variant: "BIDIRECTIONAL", # accepts BIDIRECTIONAL, REQUEST, RESPONSE
627
667
  # initialization_vector: "HexLength16Or32",
628
- # key_serial_number: "HexLengthBetween10And24", # required
629
- # mode: "ECB", # accepts ECB, CBC
630
668
  # },
631
669
  # emv: {
632
- # initialization_vector: "HexLength16Or32",
633
670
  # major_key_derivation_mode: "EMV_OPTION_A", # required, accepts EMV_OPTION_A, EMV_OPTION_B
634
- # mode: "ECB", # accepts ECB, CBC
635
- # pan_sequence_number: "HexLengthEquals2", # required
636
671
  # primary_account_number: "NumberLengthBetween12And19", # required
672
+ # pan_sequence_number: "NumberLengthEquals2", # required
637
673
  # session_derivation_data: "HexLengthEquals16", # required
638
- # },
639
- # symmetric: {
674
+ # mode: "ECB", # accepts ECB, CBC
640
675
  # initialization_vector: "HexLength16Or32",
641
- # mode: "ECB", # required, accepts ECB, CBC, CFB, CFB1, CFB8, CFB64, CFB128, OFB
642
- # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
643
676
  # },
644
677
  # },
645
- # key_identifier: "KeyArnOrKeyAliasType", # required
646
- # plain_text: "HexEvenLengthBetween16And4064", # required
678
+ # wrapped_key: {
679
+ # wrapped_key_material: { # required
680
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
681
+ # },
682
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
683
+ # },
647
684
  # })
648
685
  #
649
686
  # @example Response structure
650
687
  #
651
- # resp.cipher_text #=> String
652
688
  # resp.key_arn #=> String
653
689
  # resp.key_check_value #=> String
690
+ # resp.cipher_text #=> String
654
691
  #
655
692
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/EncryptData AWS API Documentation
656
693
  #
@@ -699,10 +736,6 @@ module Aws::PaymentCryptographyData
699
736
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
700
737
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
701
738
  #
702
- # @option params [required, Types::CardGenerationAttributes] :generation_attributes
703
- # The algorithm for generating CVV or CSC values for the card within
704
- # Amazon Web Services Payment Cryptography.
705
- #
706
739
  # @option params [required, String] :key_identifier
707
740
  # The `keyARN` of the CVK encryption key that Amazon Web Services
708
741
  # Payment Cryptography uses to generate card data.
@@ -712,6 +745,10 @@ module Aws::PaymentCryptographyData
712
745
  # credit or debit card that associates the card with a specific account
713
746
  # holder.
714
747
  #
748
+ # @option params [required, Types::CardGenerationAttributes] :generation_attributes
749
+ # The algorithm for generating CVV or CSC values for the card within
750
+ # Amazon Web Services Payment Cryptography.
751
+ #
715
752
  # @option params [Integer] :validation_data_length
716
753
  # The length of the CVV or CSC to be generated. The default value is 3.
717
754
  #
@@ -724,6 +761,8 @@ module Aws::PaymentCryptographyData
724
761
  # @example Request syntax with placeholder values
725
762
  #
726
763
  # resp = client.generate_card_validation_data({
764
+ # key_identifier: "KeyArnOrKeyAliasType", # required
765
+ # primary_account_number: "NumberLengthBetween12And19", # required
727
766
  # generation_attributes: { # required
728
767
  # amex_card_security_code_version_1: {
729
768
  # card_expiry_date: "NumberLengthEquals4", # required
@@ -732,11 +771,6 @@ module Aws::PaymentCryptographyData
732
771
  # card_expiry_date: "NumberLengthEquals4", # required
733
772
  # service_code: "NumberLengthEquals3", # required
734
773
  # },
735
- # card_holder_verification_value: {
736
- # application_transaction_counter: "HexLengthBetween2And4", # required
737
- # pan_sequence_number: "HexLengthEquals2", # required
738
- # unpredictable_number: "HexLengthBetween2And8", # required
739
- # },
740
774
  # card_verification_value_1: {
741
775
  # card_expiry_date: "NumberLengthEquals4", # required
742
776
  # service_code: "NumberLengthEquals3", # required
@@ -744,21 +778,24 @@ module Aws::PaymentCryptographyData
744
778
  # card_verification_value_2: {
745
779
  # card_expiry_date: "NumberLengthEquals4", # required
746
780
  # },
781
+ # card_holder_verification_value: {
782
+ # unpredictable_number: "HexLengthBetween2And8", # required
783
+ # pan_sequence_number: "NumberLengthEquals2", # required
784
+ # application_transaction_counter: "HexLengthBetween2And4", # required
785
+ # },
747
786
  # dynamic_card_verification_code: {
787
+ # unpredictable_number: "HexLengthBetween2And8", # required
788
+ # pan_sequence_number: "NumberLengthEquals2", # required
748
789
  # application_transaction_counter: "HexLengthBetween2And4", # required
749
- # pan_sequence_number: "HexLengthEquals2", # required
750
790
  # track_data: "HexLengthBetween2And160", # required
751
- # unpredictable_number: "HexLengthBetween2And8", # required
752
791
  # },
753
792
  # dynamic_card_verification_value: {
754
- # application_transaction_counter: "HexLengthBetween2And4", # required
793
+ # pan_sequence_number: "NumberLengthEquals2", # required
755
794
  # card_expiry_date: "NumberLengthEquals4", # required
756
- # pan_sequence_number: "HexLengthEquals2", # required
757
795
  # service_code: "NumberLengthEquals3", # required
796
+ # application_transaction_counter: "HexLengthBetween2And4", # required
758
797
  # },
759
798
  # },
760
- # key_identifier: "KeyArnOrKeyAliasType", # required
761
- # primary_account_number: "NumberLengthBetween12And19", # required
762
799
  # validation_data_length: 1,
763
800
  # })
764
801
  #
@@ -813,20 +850,20 @@ module Aws::PaymentCryptographyData
813
850
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
814
851
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
815
852
  #
816
- # @option params [required, Types::MacAttributes] :generation_attributes
817
- # The attributes and data values to use for MAC generation within Amazon
818
- # Web Services Payment Cryptography.
819
- #
820
853
  # @option params [required, String] :key_identifier
821
854
  # The `keyARN` of the MAC generation encryption key.
822
855
  #
823
- # @option params [Integer] :mac_length
824
- # The length of a MAC under generation.
825
- #
826
856
  # @option params [required, String] :message_data
827
857
  # The data for which a MAC is under generation. This value must be
828
858
  # hexBinary.
829
859
  #
860
+ # @option params [required, Types::MacAttributes] :generation_attributes
861
+ # The attributes and data values to use for MAC generation within Amazon
862
+ # Web Services Payment Cryptography.
863
+ #
864
+ # @option params [Integer] :mac_length
865
+ # The length of a MAC under generation.
866
+ #
830
867
  # @return [Types::GenerateMacOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
831
868
  #
832
869
  # * {Types::GenerateMacOutput#key_arn #key_arn} => String
@@ -836,37 +873,37 @@ module Aws::PaymentCryptographyData
836
873
  # @example Request syntax with placeholder values
837
874
  #
838
875
  # resp = client.generate_mac({
876
+ # key_identifier: "KeyArnOrKeyAliasType", # required
877
+ # message_data: "HexEvenLengthBetween2And4096", # required
839
878
  # generation_attributes: { # required
840
879
  # algorithm: "ISO9797_ALGORITHM1", # accepts ISO9797_ALGORITHM1, ISO9797_ALGORITHM3, CMAC, HMAC_SHA224, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512
841
- # dukpt_cmac: {
842
- # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
843
- # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
844
- # key_serial_number: "HexLengthBetween10And24", # required
845
- # },
846
- # dukpt_iso_9797_algorithm_1: {
847
- # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
848
- # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
849
- # key_serial_number: "HexLengthBetween10And24", # required
850
- # },
851
- # dukpt_iso_9797_algorithm_3: {
852
- # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
853
- # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
854
- # key_serial_number: "HexLengthBetween10And24", # required
855
- # },
856
880
  # emv_mac: {
857
881
  # major_key_derivation_mode: "EMV_OPTION_A", # required, accepts EMV_OPTION_A, EMV_OPTION_B
858
- # pan_sequence_number: "HexLengthEquals2", # required
859
882
  # primary_account_number: "NumberLengthBetween12And19", # required
883
+ # pan_sequence_number: "NumberLengthEquals2", # required
860
884
  # session_key_derivation_mode: "EMV_COMMON_SESSION_KEY", # required, accepts EMV_COMMON_SESSION_KEY, EMV2000, AMEX, MASTERCARD_SESSION_KEY, VISA
861
885
  # session_key_derivation_value: { # required
862
886
  # application_cryptogram: "HexLengthEquals16",
863
887
  # application_transaction_counter: "HexLengthBetween2And4",
864
888
  # },
865
889
  # },
890
+ # dukpt_iso_9797_algorithm_1: {
891
+ # key_serial_number: "HexLengthBetween10And24", # required
892
+ # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
893
+ # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
894
+ # },
895
+ # dukpt_iso_9797_algorithm_3: {
896
+ # key_serial_number: "HexLengthBetween10And24", # required
897
+ # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
898
+ # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
899
+ # },
900
+ # dukpt_cmac: {
901
+ # key_serial_number: "HexLengthBetween10And24", # required
902
+ # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
903
+ # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
904
+ # },
866
905
  # },
867
- # key_identifier: "KeyArnOrKeyAliasType", # required
868
906
  # mac_length: 1,
869
- # message_data: "HexEvenLengthBetween2And4096", # required
870
907
  # })
871
908
  #
872
909
  # @example Response structure
@@ -918,6 +955,10 @@ module Aws::PaymentCryptographyData
918
955
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
919
956
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
920
957
  #
958
+ # @option params [required, String] :generation_key_identifier
959
+ # The `keyARN` of the PEK that Amazon Web Services Payment Cryptography
960
+ # uses for pin data generation.
961
+ #
921
962
  # @option params [required, String] :encryption_key_identifier
922
963
  # The `keyARN` of the PEK that Amazon Web Services Payment Cryptography
923
964
  # uses to encrypt the PIN Block.
@@ -926,9 +967,13 @@ module Aws::PaymentCryptographyData
926
967
  # The attributes and values to use for PIN, PVV, or PIN Offset
927
968
  # generation.
928
969
  #
929
- # @option params [required, String] :generation_key_identifier
930
- # The `keyARN` of the PEK that Amazon Web Services Payment Cryptography
931
- # uses for pin data generation.
970
+ # @option params [Integer] :pin_data_length
971
+ # The length of PIN under generation.
972
+ #
973
+ # @option params [required, String] :primary_account_number
974
+ # The Primary Account Number (PAN), a unique identifier for a payment
975
+ # credit or debit card that associates the card with a specific account
976
+ # holder.
932
977
  #
933
978
  # @option params [required, String] :pin_block_format
934
979
  # The PIN encoding format for pin data generation as specified in ISO
@@ -942,71 +987,63 @@ module Aws::PaymentCryptographyData
942
987
  # The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
943
988
  # except that the fill digits are random values from 10 to 15.
944
989
  #
945
- # @option params [Integer] :pin_data_length
946
- # The length of PIN under generation.
947
- #
948
- # @option params [required, String] :primary_account_number
949
- # The Primary Account Number (PAN), a unique identifier for a payment
950
- # credit or debit card that associates the card with a specific account
951
- # holder.
952
- #
953
990
  # @return [Types::GeneratePinDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
954
991
  #
955
- # * {Types::GeneratePinDataOutput#encrypted_pin_block #encrypted_pin_block} => String
956
- # * {Types::GeneratePinDataOutput#encryption_key_arn #encryption_key_arn} => String
957
- # * {Types::GeneratePinDataOutput#encryption_key_check_value #encryption_key_check_value} => String
958
992
  # * {Types::GeneratePinDataOutput#generation_key_arn #generation_key_arn} => String
959
993
  # * {Types::GeneratePinDataOutput#generation_key_check_value #generation_key_check_value} => String
994
+ # * {Types::GeneratePinDataOutput#encryption_key_arn #encryption_key_arn} => String
995
+ # * {Types::GeneratePinDataOutput#encryption_key_check_value #encryption_key_check_value} => String
996
+ # * {Types::GeneratePinDataOutput#encrypted_pin_block #encrypted_pin_block} => String
960
997
  # * {Types::GeneratePinDataOutput#pin_data #pin_data} => Types::PinData
961
998
  #
962
999
  # @example Request syntax with placeholder values
963
1000
  #
964
1001
  # resp = client.generate_pin_data({
1002
+ # generation_key_identifier: "KeyArnOrKeyAliasType", # required
965
1003
  # encryption_key_identifier: "KeyArnOrKeyAliasType", # required
966
1004
  # generation_attributes: { # required
967
- # ibm_3624_natural_pin: {
968
- # decimalization_table: "NumberLengthEquals16", # required
969
- # pin_validation_data: "NumberLengthBetween4And16", # required
970
- # pin_validation_data_pad_character: "HexLengthEquals1", # required
1005
+ # visa_pin: {
1006
+ # pin_verification_key_index: 1, # required
971
1007
  # },
972
- # ibm_3624_pin_from_offset: {
973
- # decimalization_table: "NumberLengthEquals16", # required
974
- # pin_offset: "NumberLengthBetween4And12", # required
975
- # pin_validation_data: "NumberLengthBetween4And16", # required
976
- # pin_validation_data_pad_character: "HexLengthEquals1", # required
1008
+ # visa_pin_verification_value: {
1009
+ # encrypted_pin_block: "HexLengthBetween16And32", # required
1010
+ # pin_verification_key_index: 1, # required
977
1011
  # },
978
1012
  # ibm_3624_pin_offset: {
979
- # decimalization_table: "NumberLengthEquals16", # required
980
1013
  # encrypted_pin_block: "HexLengthBetween16And32", # required
1014
+ # decimalization_table: "NumberLengthEquals16", # required
1015
+ # pin_validation_data_pad_character: "HexLengthEquals1", # required
981
1016
  # pin_validation_data: "NumberLengthBetween4And16", # required
1017
+ # },
1018
+ # ibm_3624_natural_pin: {
1019
+ # decimalization_table: "NumberLengthEquals16", # required
982
1020
  # pin_validation_data_pad_character: "HexLengthEquals1", # required
1021
+ # pin_validation_data: "NumberLengthBetween4And16", # required
983
1022
  # },
984
1023
  # ibm_3624_random_pin: {
985
1024
  # decimalization_table: "NumberLengthEquals16", # required
986
- # pin_validation_data: "NumberLengthBetween4And16", # required
987
1025
  # pin_validation_data_pad_character: "HexLengthEquals1", # required
1026
+ # pin_validation_data: "NumberLengthBetween4And16", # required
988
1027
  # },
989
- # visa_pin: {
990
- # pin_verification_key_index: 1, # required
991
- # },
992
- # visa_pin_verification_value: {
993
- # encrypted_pin_block: "HexLengthBetween16And32", # required
994
- # pin_verification_key_index: 1, # required
1028
+ # ibm_3624_pin_from_offset: {
1029
+ # decimalization_table: "NumberLengthEquals16", # required
1030
+ # pin_validation_data_pad_character: "HexLengthEquals1", # required
1031
+ # pin_validation_data: "NumberLengthBetween4And16", # required
1032
+ # pin_offset: "NumberLengthBetween4And12", # required
995
1033
  # },
996
1034
  # },
997
- # generation_key_identifier: "KeyArnOrKeyAliasType", # required
998
- # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3
999
1035
  # pin_data_length: 1,
1000
1036
  # primary_account_number: "NumberLengthBetween12And19", # required
1037
+ # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3
1001
1038
  # })
1002
1039
  #
1003
1040
  # @example Response structure
1004
1041
  #
1005
- # resp.encrypted_pin_block #=> String
1006
- # resp.encryption_key_arn #=> String
1007
- # resp.encryption_key_check_value #=> String
1008
1042
  # resp.generation_key_arn #=> String
1009
1043
  # resp.generation_key_check_value #=> String
1044
+ # resp.encryption_key_arn #=> String
1045
+ # resp.encryption_key_check_value #=> String
1046
+ # resp.encrypted_pin_block #=> String
1010
1047
  # resp.pin_data.pin_offset #=> String
1011
1048
  # resp.pin_data.verification_value #=> String
1012
1049
  #
@@ -1019,24 +1056,19 @@ module Aws::PaymentCryptographyData
1019
1056
  req.send_request(options)
1020
1057
  end
1021
1058
 
1022
- # Re-encrypt ciphertext using DUKPT, Symmetric and Asymmetric Data
1023
- # Encryption Keys.
1059
+ # Re-encrypt ciphertext using DUKPT or Symmetric data encryption keys.
1024
1060
  #
1025
1061
  # You can either generate an encryption key within Amazon Web Services
1026
1062
  # Payment Cryptography by calling [CreateKey][1] or import your own
1027
1063
  # encryption key by calling [ImportKey][2]. The `KeyArn` for use with
1028
1064
  # this operation must be in a compatible key state with `KeyModesOfUse`
1029
- # set to `Encrypt`. In asymmetric encryption, ciphertext is encrypted
1030
- # using public component (imported by calling [ImportKey][2]) of the
1031
- # asymmetric key pair created outside of Amazon Web Services Payment
1032
- # Cryptography.
1065
+ # set to `Encrypt`.
1033
1066
  #
1034
1067
  # For symmetric and DUKPT encryption, Amazon Web Services Payment
1035
- # Cryptography supports `TDES` and `AES` algorithms. For asymmetric
1036
- # encryption, Amazon Web Services Payment Cryptography supports `RSA`.
1037
- # To encrypt using DUKPT, a DUKPT key must already exist within your
1038
- # account with `KeyModesOfUse` set to `DeriveKey` or a new DUKPT can be
1039
- # generated by calling [CreateKey][1].
1068
+ # Cryptography supports `TDES` and `AES` algorithms. To encrypt using
1069
+ # DUKPT, a DUKPT key must already exist within your account with
1070
+ # `KeyModesOfUse` set to `DeriveKey` or a new DUKPT can be generated by
1071
+ # calling [CreateKey][1].
1040
1072
  #
1041
1073
  # For information about valid keys for this operation, see
1042
1074
  # [Understanding key attributes][3] and [Key types for specific data
@@ -1064,6 +1096,17 @@ module Aws::PaymentCryptographyData
1064
1096
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1065
1097
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
1066
1098
  #
1099
+ # @option params [required, String] :incoming_key_identifier
1100
+ # The `keyARN` of the encryption key of incoming ciphertext data.
1101
+ #
1102
+ # When a WrappedKeyBlock is provided, this value will be the identifier
1103
+ # to the key wrapping key. Otherwise, it is the key identifier used to
1104
+ # perform the operation.
1105
+ #
1106
+ # @option params [required, String] :outgoing_key_identifier
1107
+ # The `keyARN` of the encryption key of outgoing ciphertext data after
1108
+ # encryption by Amazon Web Services Payment Cryptography.
1109
+ #
1067
1110
  # @option params [required, String] :cipher_text
1068
1111
  # Ciphertext to be encrypted. The minimum allowed length is 16 bytes and
1069
1112
  # maximum allowed length is 4096 bytes.
@@ -1071,64 +1114,78 @@ module Aws::PaymentCryptographyData
1071
1114
  # @option params [required, Types::ReEncryptionAttributes] :incoming_encryption_attributes
1072
1115
  # The attributes and values for incoming ciphertext.
1073
1116
  #
1074
- # @option params [required, String] :incoming_key_identifier
1075
- # The `keyARN` of the encryption key of incoming ciphertext data.
1076
- #
1077
1117
  # @option params [required, Types::ReEncryptionAttributes] :outgoing_encryption_attributes
1078
1118
  # The attributes and values for outgoing ciphertext data after
1079
1119
  # encryption by Amazon Web Services Payment Cryptography.
1080
1120
  #
1081
- # @option params [required, String] :outgoing_key_identifier
1082
- # The `keyARN` of the encryption key of outgoing ciphertext data after
1083
- # encryption by Amazon Web Services Payment Cryptography.
1121
+ # @option params [Types::WrappedKey] :incoming_wrapped_key
1122
+ # The WrappedKeyBlock containing the encryption key of incoming
1123
+ # ciphertext data.
1124
+ #
1125
+ # @option params [Types::WrappedKey] :outgoing_wrapped_key
1126
+ # The WrappedKeyBlock containing the encryption key of outgoing
1127
+ # ciphertext data after encryption by Amazon Web Services Payment
1128
+ # Cryptography.
1084
1129
  #
1085
1130
  # @return [Types::ReEncryptDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1086
1131
  #
1087
- # * {Types::ReEncryptDataOutput#cipher_text #cipher_text} => String
1088
1132
  # * {Types::ReEncryptDataOutput#key_arn #key_arn} => String
1089
1133
  # * {Types::ReEncryptDataOutput#key_check_value #key_check_value} => String
1134
+ # * {Types::ReEncryptDataOutput#cipher_text #cipher_text} => String
1090
1135
  #
1091
1136
  # @example Request syntax with placeholder values
1092
1137
  #
1093
1138
  # resp = client.re_encrypt_data({
1139
+ # incoming_key_identifier: "KeyArnOrKeyAliasType", # required
1140
+ # outgoing_key_identifier: "KeyArnOrKeyAliasType", # required
1094
1141
  # cipher_text: "HexEvenLengthBetween16And4096", # required
1095
1142
  # incoming_encryption_attributes: { # required
1143
+ # symmetric: {
1144
+ # mode: "ECB", # required, accepts ECB, CBC, CFB, CFB1, CFB8, CFB64, CFB128, OFB
1145
+ # initialization_vector: "HexLength16Or32",
1146
+ # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
1147
+ # },
1096
1148
  # dukpt: {
1149
+ # key_serial_number: "HexLengthBetween10And24", # required
1150
+ # mode: "ECB", # accepts ECB, CBC
1097
1151
  # dukpt_key_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1098
1152
  # dukpt_key_variant: "BIDIRECTIONAL", # accepts BIDIRECTIONAL, REQUEST, RESPONSE
1099
1153
  # initialization_vector: "HexLength16Or32",
1100
- # key_serial_number: "HexLengthBetween10And24", # required
1101
- # mode: "ECB", # accepts ECB, CBC
1102
1154
  # },
1155
+ # },
1156
+ # outgoing_encryption_attributes: { # required
1103
1157
  # symmetric: {
1104
- # initialization_vector: "HexLength16Or32",
1105
1158
  # mode: "ECB", # required, accepts ECB, CBC, CFB, CFB1, CFB8, CFB64, CFB128, OFB
1159
+ # initialization_vector: "HexLength16Or32",
1106
1160
  # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
1107
1161
  # },
1108
- # },
1109
- # incoming_key_identifier: "KeyArnOrKeyAliasType", # required
1110
- # outgoing_encryption_attributes: { # required
1111
1162
  # dukpt: {
1163
+ # key_serial_number: "HexLengthBetween10And24", # required
1164
+ # mode: "ECB", # accepts ECB, CBC
1112
1165
  # dukpt_key_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1113
1166
  # dukpt_key_variant: "BIDIRECTIONAL", # accepts BIDIRECTIONAL, REQUEST, RESPONSE
1114
1167
  # initialization_vector: "HexLength16Or32",
1115
- # key_serial_number: "HexLengthBetween10And24", # required
1116
- # mode: "ECB", # accepts ECB, CBC
1117
1168
  # },
1118
- # symmetric: {
1119
- # initialization_vector: "HexLength16Or32",
1120
- # mode: "ECB", # required, accepts ECB, CBC, CFB, CFB1, CFB8, CFB64, CFB128, OFB
1121
- # padding_type: "PKCS1", # accepts PKCS1, OAEP_SHA1, OAEP_SHA256, OAEP_SHA512
1169
+ # },
1170
+ # incoming_wrapped_key: {
1171
+ # wrapped_key_material: { # required
1172
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
1122
1173
  # },
1174
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1175
+ # },
1176
+ # outgoing_wrapped_key: {
1177
+ # wrapped_key_material: { # required
1178
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
1179
+ # },
1180
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1123
1181
  # },
1124
- # outgoing_key_identifier: "KeyArnOrKeyAliasType", # required
1125
1182
  # })
1126
1183
  #
1127
1184
  # @example Response structure
1128
1185
  #
1129
- # resp.cipher_text #=> String
1130
1186
  # resp.key_arn #=> String
1131
1187
  # resp.key_check_value #=> String
1188
+ # resp.cipher_text #=> String
1132
1189
  #
1133
1190
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/ReEncryptData AWS API Documentation
1134
1191
  #
@@ -1185,50 +1242,57 @@ module Aws::PaymentCryptographyData
1185
1242
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1186
1243
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1187
1244
  #
1188
- # @option params [required, String] :encrypted_pin_block
1189
- # The encrypted PIN block data that Amazon Web Services Payment
1190
- # Cryptography translates.
1191
- #
1192
- # @option params [Types::DukptDerivationAttributes] :incoming_dukpt_attributes
1193
- # The attributes and values to use for incoming DUKPT encryption key for
1194
- # PIN block translation.
1195
- #
1196
1245
  # @option params [required, String] :incoming_key_identifier
1197
1246
  # The `keyARN` of the encryption key under which incoming PIN block data
1198
1247
  # is encrypted. This key type can be PEK or BDK.
1199
1248
  #
1249
+ # When a WrappedKeyBlock is provided, this value will be the identifier
1250
+ # to the key wrapping key for PIN block. Otherwise, it is the key
1251
+ # identifier used to perform the operation.
1252
+ #
1253
+ # @option params [required, String] :outgoing_key_identifier
1254
+ # The `keyARN` of the encryption key for encrypting outgoing PIN block
1255
+ # data. This key type can be PEK or BDK.
1256
+ #
1200
1257
  # @option params [required, Types::TranslationIsoFormats] :incoming_translation_attributes
1201
1258
  # The format of the incoming PIN block data for translation within
1202
1259
  # Amazon Web Services Payment Cryptography.
1203
1260
  #
1261
+ # @option params [required, Types::TranslationIsoFormats] :outgoing_translation_attributes
1262
+ # The format of the outgoing PIN block data after translation by Amazon
1263
+ # Web Services Payment Cryptography.
1264
+ #
1265
+ # @option params [required, String] :encrypted_pin_block
1266
+ # The encrypted PIN block data that Amazon Web Services Payment
1267
+ # Cryptography translates.
1268
+ #
1269
+ # @option params [Types::DukptDerivationAttributes] :incoming_dukpt_attributes
1270
+ # The attributes and values to use for incoming DUKPT encryption key for
1271
+ # PIN block translation.
1272
+ #
1204
1273
  # @option params [Types::DukptDerivationAttributes] :outgoing_dukpt_attributes
1205
1274
  # The attributes and values to use for outgoing DUKPT encryption key
1206
1275
  # after PIN block translation.
1207
1276
  #
1208
- # @option params [required, String] :outgoing_key_identifier
1209
- # The `keyARN` of the encryption key for encrypting outgoing PIN block
1210
- # data. This key type can be PEK or BDK.
1277
+ # @option params [Types::WrappedKey] :incoming_wrapped_key
1278
+ # The WrappedKeyBlock containing the encryption key under which incoming
1279
+ # PIN block data is encrypted.
1211
1280
  #
1212
- # @option params [required, Types::TranslationIsoFormats] :outgoing_translation_attributes
1213
- # The format of the outgoing PIN block data after translation by Amazon
1214
- # Web Services Payment Cryptography.
1281
+ # @option params [Types::WrappedKey] :outgoing_wrapped_key
1282
+ # The WrappedKeyBlock containing the encryption key for encrypting
1283
+ # outgoing PIN block data.
1215
1284
  #
1216
1285
  # @return [Types::TranslatePinDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1217
1286
  #
1287
+ # * {Types::TranslatePinDataOutput#pin_block #pin_block} => String
1218
1288
  # * {Types::TranslatePinDataOutput#key_arn #key_arn} => String
1219
1289
  # * {Types::TranslatePinDataOutput#key_check_value #key_check_value} => String
1220
- # * {Types::TranslatePinDataOutput#pin_block #pin_block} => String
1221
1290
  #
1222
1291
  # @example Request syntax with placeholder values
1223
1292
  #
1224
1293
  # resp = client.translate_pin_data({
1225
- # encrypted_pin_block: "HexEvenLengthBetween16And32", # required
1226
- # incoming_dukpt_attributes: {
1227
- # dukpt_key_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1228
- # dukpt_key_variant: "BIDIRECTIONAL", # accepts BIDIRECTIONAL, REQUEST, RESPONSE
1229
- # key_serial_number: "HexLengthBetween10And24", # required
1230
- # },
1231
1294
  # incoming_key_identifier: "KeyArnOrKeyAliasType", # required
1295
+ # outgoing_key_identifier: "KeyArnOrKeyAliasType", # required
1232
1296
  # incoming_translation_attributes: { # required
1233
1297
  # iso_format_0: {
1234
1298
  # primary_account_number: "NumberLengthBetween12And19", # required
@@ -1242,12 +1306,6 @@ module Aws::PaymentCryptographyData
1242
1306
  # primary_account_number: "NumberLengthBetween12And19", # required
1243
1307
  # },
1244
1308
  # },
1245
- # outgoing_dukpt_attributes: {
1246
- # dukpt_key_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1247
- # dukpt_key_variant: "BIDIRECTIONAL", # accepts BIDIRECTIONAL, REQUEST, RESPONSE
1248
- # key_serial_number: "HexLengthBetween10And24", # required
1249
- # },
1250
- # outgoing_key_identifier: "KeyArnOrKeyAliasType", # required
1251
1309
  # outgoing_translation_attributes: { # required
1252
1310
  # iso_format_0: {
1253
1311
  # primary_account_number: "NumberLengthBetween12And19", # required
@@ -1261,13 +1319,36 @@ module Aws::PaymentCryptographyData
1261
1319
  # primary_account_number: "NumberLengthBetween12And19", # required
1262
1320
  # },
1263
1321
  # },
1322
+ # encrypted_pin_block: "HexEvenLengthBetween16And32", # required
1323
+ # incoming_dukpt_attributes: {
1324
+ # key_serial_number: "HexLengthBetween10And24", # required
1325
+ # dukpt_key_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1326
+ # dukpt_key_variant: "BIDIRECTIONAL", # accepts BIDIRECTIONAL, REQUEST, RESPONSE
1327
+ # },
1328
+ # outgoing_dukpt_attributes: {
1329
+ # key_serial_number: "HexLengthBetween10And24", # required
1330
+ # dukpt_key_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1331
+ # dukpt_key_variant: "BIDIRECTIONAL", # accepts BIDIRECTIONAL, REQUEST, RESPONSE
1332
+ # },
1333
+ # incoming_wrapped_key: {
1334
+ # wrapped_key_material: { # required
1335
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
1336
+ # },
1337
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1338
+ # },
1339
+ # outgoing_wrapped_key: {
1340
+ # wrapped_key_material: { # required
1341
+ # tr_31_key_block: "Tr31WrappedKeyBlock",
1342
+ # },
1343
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1344
+ # },
1264
1345
  # })
1265
1346
  #
1266
1347
  # @example Response structure
1267
1348
  #
1349
+ # resp.pin_block #=> String
1268
1350
  # resp.key_arn #=> String
1269
1351
  # resp.key_check_value #=> String
1270
- # resp.pin_block #=> String
1271
1352
  #
1272
1353
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslatePinData AWS API Documentation
1273
1354
  #
@@ -1317,20 +1398,20 @@ module Aws::PaymentCryptographyData
1317
1398
  # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1318
1399
  # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1319
1400
  #
1401
+ # @option params [required, String] :key_identifier
1402
+ # The `keyARN` of the major encryption key that Amazon Web Services
1403
+ # Payment Cryptography uses for ARQC verification.
1404
+ #
1405
+ # @option params [required, String] :transaction_data
1406
+ # The transaction data that Amazon Web Services Payment Cryptography
1407
+ # uses for ARQC verification. The same transaction is used for ARQC
1408
+ # generation outside of Amazon Web Services Payment Cryptography.
1409
+ #
1320
1410
  # @option params [required, String] :auth_request_cryptogram
1321
1411
  # The auth request cryptogram imported into Amazon Web Services Payment
1322
1412
  # Cryptography for ARQC verification using a major encryption key and
1323
1413
  # transaction data.
1324
1414
  #
1325
- # @option params [Types::CryptogramAuthResponse] :auth_response_attributes
1326
- # The attributes and values for auth request cryptogram verification.
1327
- # These parameters are required in case using ARPC Method 1 or Method 2
1328
- # for ARQC verification.
1329
- #
1330
- # @option params [required, String] :key_identifier
1331
- # The `keyARN` of the major encryption key that Amazon Web Services
1332
- # Payment Cryptography uses for ARQC verification.
1333
- #
1334
1415
  # @option params [required, String] :major_key_derivation_mode
1335
1416
  # The method to use when deriving the major encryption key for ARQC
1336
1417
  # verification within Amazon Web Services Payment Cryptography. The same
@@ -1343,66 +1424,66 @@ module Aws::PaymentCryptographyData
1343
1424
  # attributes were used for ARQC generation outside of Amazon Web
1344
1425
  # Services Payment Cryptography.
1345
1426
  #
1346
- # @option params [required, String] :transaction_data
1347
- # The transaction data that Amazon Web Services Payment Cryptography
1348
- # uses for ARQC verification. The same transaction is used for ARQC
1349
- # generation outside of Amazon Web Services Payment Cryptography.
1427
+ # @option params [Types::CryptogramAuthResponse] :auth_response_attributes
1428
+ # The attributes and values for auth request cryptogram verification.
1429
+ # These parameters are required in case using ARPC Method 1 or Method 2
1430
+ # for ARQC verification.
1350
1431
  #
1351
1432
  # @return [Types::VerifyAuthRequestCryptogramOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1352
1433
  #
1353
- # * {Types::VerifyAuthRequestCryptogramOutput#auth_response_value #auth_response_value} => String
1354
1434
  # * {Types::VerifyAuthRequestCryptogramOutput#key_arn #key_arn} => String
1355
1435
  # * {Types::VerifyAuthRequestCryptogramOutput#key_check_value #key_check_value} => String
1436
+ # * {Types::VerifyAuthRequestCryptogramOutput#auth_response_value #auth_response_value} => String
1356
1437
  #
1357
1438
  # @example Request syntax with placeholder values
1358
1439
  #
1359
1440
  # resp = client.verify_auth_request_cryptogram({
1360
- # auth_request_cryptogram: "HexLengthEquals16", # required
1361
- # auth_response_attributes: {
1362
- # arpc_method_1: {
1363
- # auth_response_code: "HexLengthEquals4", # required
1364
- # },
1365
- # arpc_method_2: {
1366
- # card_status_update: "HexLengthEquals8", # required
1367
- # proprietary_authentication_data: "HexLengthBetween1And16",
1368
- # },
1369
- # },
1370
1441
  # key_identifier: "KeyArnOrKeyAliasType", # required
1442
+ # transaction_data: "HexLengthBetween2And1024", # required
1443
+ # auth_request_cryptogram: "HexLengthEquals16", # required
1371
1444
  # major_key_derivation_mode: "EMV_OPTION_A", # required, accepts EMV_OPTION_A, EMV_OPTION_B
1372
1445
  # session_key_derivation_attributes: { # required
1373
- # amex: {
1374
- # pan_sequence_number: "HexLengthEquals2", # required
1446
+ # emv_common: {
1375
1447
  # primary_account_number: "NumberLengthBetween12And19", # required
1376
- # },
1377
- # emv_2000: {
1448
+ # pan_sequence_number: "NumberLengthEquals2", # required
1378
1449
  # application_transaction_counter: "HexLengthBetween2And4", # required
1379
- # pan_sequence_number: "HexLengthEquals2", # required
1380
- # primary_account_number: "NumberLengthBetween12And19", # required
1381
1450
  # },
1382
- # emv_common: {
1383
- # application_transaction_counter: "HexLengthBetween2And4", # required
1384
- # pan_sequence_number: "HexLengthEquals2", # required
1451
+ # mastercard: {
1385
1452
  # primary_account_number: "NumberLengthBetween12And19", # required
1453
+ # pan_sequence_number: "NumberLengthEquals2", # required
1454
+ # application_transaction_counter: "HexLengthBetween2And4", # required
1455
+ # unpredictable_number: "HexLengthBetween2And8", # required
1386
1456
  # },
1387
- # mastercard: {
1457
+ # emv_2000: {
1458
+ # primary_account_number: "NumberLengthBetween12And19", # required
1459
+ # pan_sequence_number: "NumberLengthEquals2", # required
1388
1460
  # application_transaction_counter: "HexLengthBetween2And4", # required
1389
- # pan_sequence_number: "HexLengthEquals2", # required
1461
+ # },
1462
+ # amex: {
1390
1463
  # primary_account_number: "NumberLengthBetween12And19", # required
1391
- # unpredictable_number: "HexLengthBetween2And8", # required
1464
+ # pan_sequence_number: "NumberLengthEquals2", # required
1392
1465
  # },
1393
1466
  # visa: {
1394
- # pan_sequence_number: "HexLengthEquals2", # required
1395
1467
  # primary_account_number: "NumberLengthBetween12And19", # required
1468
+ # pan_sequence_number: "NumberLengthEquals2", # required
1469
+ # },
1470
+ # },
1471
+ # auth_response_attributes: {
1472
+ # arpc_method_1: {
1473
+ # auth_response_code: "HexLengthEquals4", # required
1474
+ # },
1475
+ # arpc_method_2: {
1476
+ # card_status_update: "HexLengthEquals8", # required
1477
+ # proprietary_authentication_data: "HexLengthBetween1And16",
1396
1478
  # },
1397
1479
  # },
1398
- # transaction_data: "HexLengthBetween2And1024", # required
1399
1480
  # })
1400
1481
  #
1401
1482
  # @example Response structure
1402
1483
  #
1403
- # resp.auth_response_value #=> String
1404
1484
  # resp.key_arn #=> String
1405
1485
  # resp.key_check_value #=> String
1486
+ # resp.auth_response_value #=> String
1406
1487
  #
1407
1488
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyAuthRequestCryptogram AWS API Documentation
1408
1489
  #
@@ -1460,14 +1541,14 @@ module Aws::PaymentCryptographyData
1460
1541
  # credit or debit card that associates the card with a specific account
1461
1542
  # holder.
1462
1543
  #
1463
- # @option params [required, String] :validation_data
1464
- # The CVV or CSC value for use for card data verification within Amazon
1465
- # Web Services Payment Cryptography.
1466
- #
1467
1544
  # @option params [required, Types::CardVerificationAttributes] :verification_attributes
1468
1545
  # The algorithm to use for verification of card data within Amazon Web
1469
1546
  # Services Payment Cryptography.
1470
1547
  #
1548
+ # @option params [required, String] :validation_data
1549
+ # The CVV or CSC value for use for card data verification within Amazon
1550
+ # Web Services Payment Cryptography.
1551
+ #
1471
1552
  # @return [Types::VerifyCardValidationDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1472
1553
  #
1473
1554
  # * {Types::VerifyCardValidationDataOutput#key_arn #key_arn} => String
@@ -1478,7 +1559,6 @@ module Aws::PaymentCryptographyData
1478
1559
  # resp = client.verify_card_validation_data({
1479
1560
  # key_identifier: "KeyArnOrKeyAliasType", # required
1480
1561
  # primary_account_number: "NumberLengthBetween12And19", # required
1481
- # validation_data: "NumberLengthBetween3And5", # required
1482
1562
  # verification_attributes: { # required
1483
1563
  # amex_card_security_code_version_1: {
1484
1564
  # card_expiry_date: "NumberLengthEquals4", # required
@@ -1487,11 +1567,6 @@ module Aws::PaymentCryptographyData
1487
1567
  # card_expiry_date: "NumberLengthEquals4", # required
1488
1568
  # service_code: "NumberLengthEquals3", # required
1489
1569
  # },
1490
- # card_holder_verification_value: {
1491
- # application_transaction_counter: "HexLengthBetween2And4", # required
1492
- # pan_sequence_number: "HexLengthEquals2", # required
1493
- # unpredictable_number: "HexLengthBetween2And8", # required
1494
- # },
1495
1570
  # card_verification_value_1: {
1496
1571
  # card_expiry_date: "NumberLengthEquals4", # required
1497
1572
  # service_code: "NumberLengthEquals3", # required
@@ -1499,24 +1574,30 @@ module Aws::PaymentCryptographyData
1499
1574
  # card_verification_value_2: {
1500
1575
  # card_expiry_date: "NumberLengthEquals4", # required
1501
1576
  # },
1502
- # discover_dynamic_card_verification_code: {
1503
- # application_transaction_counter: "HexLengthBetween2And4", # required
1504
- # card_expiry_date: "NumberLengthEquals4", # required
1577
+ # card_holder_verification_value: {
1505
1578
  # unpredictable_number: "HexLengthBetween2And8", # required
1579
+ # pan_sequence_number: "NumberLengthEquals2", # required
1580
+ # application_transaction_counter: "HexLengthBetween2And4", # required
1506
1581
  # },
1507
1582
  # dynamic_card_verification_code: {
1583
+ # unpredictable_number: "HexLengthBetween2And8", # required
1584
+ # pan_sequence_number: "NumberLengthEquals2", # required
1508
1585
  # application_transaction_counter: "HexLengthBetween2And4", # required
1509
- # pan_sequence_number: "HexLengthEquals2", # required
1510
1586
  # track_data: "HexLengthBetween2And160", # required
1511
- # unpredictable_number: "HexLengthBetween2And8", # required
1512
1587
  # },
1513
1588
  # dynamic_card_verification_value: {
1514
- # application_transaction_counter: "HexLengthBetween2And4", # required
1589
+ # pan_sequence_number: "NumberLengthEquals2", # required
1515
1590
  # card_expiry_date: "NumberLengthEquals4", # required
1516
- # pan_sequence_number: "HexLengthEquals2", # required
1517
1591
  # service_code: "NumberLengthEquals3", # required
1592
+ # application_transaction_counter: "HexLengthBetween2And4", # required
1593
+ # },
1594
+ # discover_dynamic_card_verification_code: {
1595
+ # card_expiry_date: "NumberLengthEquals4", # required
1596
+ # unpredictable_number: "HexLengthBetween2And8", # required
1597
+ # application_transaction_counter: "HexLengthBetween2And4", # required
1518
1598
  # },
1519
1599
  # },
1600
+ # validation_data: "NumberLengthBetween3And5", # required
1520
1601
  # })
1521
1602
  #
1522
1603
  # @example Response structure
@@ -1565,20 +1646,20 @@ module Aws::PaymentCryptographyData
1565
1646
  # The `keyARN` of the encryption key that Amazon Web Services Payment
1566
1647
  # Cryptography uses to verify MAC data.
1567
1648
  #
1568
- # @option params [required, String] :mac
1569
- # The MAC being verified.
1570
- #
1571
- # @option params [Integer] :mac_length
1572
- # The length of the MAC.
1573
- #
1574
1649
  # @option params [required, String] :message_data
1575
1650
  # The data on for which MAC is under verification. This value must be
1576
1651
  # hexBinary.
1577
1652
  #
1653
+ # @option params [required, String] :mac
1654
+ # The MAC being verified.
1655
+ #
1578
1656
  # @option params [required, Types::MacAttributes] :verification_attributes
1579
1657
  # The attributes and data values to use for MAC verification within
1580
1658
  # Amazon Web Services Payment Cryptography.
1581
1659
  #
1660
+ # @option params [Integer] :mac_length
1661
+ # The length of the MAC.
1662
+ #
1582
1663
  # @return [Types::VerifyMacOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1583
1664
  #
1584
1665
  # * {Types::VerifyMacOutput#key_arn #key_arn} => String
@@ -1588,37 +1669,37 @@ module Aws::PaymentCryptographyData
1588
1669
  #
1589
1670
  # resp = client.verify_mac({
1590
1671
  # key_identifier: "KeyArnOrKeyAliasType", # required
1591
- # mac: "HexEvenLengthBetween4And128", # required
1592
- # mac_length: 1,
1593
1672
  # message_data: "HexEvenLengthBetween2And4096", # required
1673
+ # mac: "HexEvenLengthBetween4And128", # required
1594
1674
  # verification_attributes: { # required
1595
1675
  # algorithm: "ISO9797_ALGORITHM1", # accepts ISO9797_ALGORITHM1, ISO9797_ALGORITHM3, CMAC, HMAC_SHA224, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512
1596
- # dukpt_cmac: {
1597
- # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1598
- # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
1599
- # key_serial_number: "HexLengthBetween10And24", # required
1600
- # },
1601
- # dukpt_iso_9797_algorithm_1: {
1602
- # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1603
- # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
1604
- # key_serial_number: "HexLengthBetween10And24", # required
1605
- # },
1606
- # dukpt_iso_9797_algorithm_3: {
1607
- # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1608
- # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
1609
- # key_serial_number: "HexLengthBetween10And24", # required
1610
- # },
1611
1676
  # emv_mac: {
1612
1677
  # major_key_derivation_mode: "EMV_OPTION_A", # required, accepts EMV_OPTION_A, EMV_OPTION_B
1613
- # pan_sequence_number: "HexLengthEquals2", # required
1614
1678
  # primary_account_number: "NumberLengthBetween12And19", # required
1679
+ # pan_sequence_number: "NumberLengthEquals2", # required
1615
1680
  # session_key_derivation_mode: "EMV_COMMON_SESSION_KEY", # required, accepts EMV_COMMON_SESSION_KEY, EMV2000, AMEX, MASTERCARD_SESSION_KEY, VISA
1616
1681
  # session_key_derivation_value: { # required
1617
1682
  # application_cryptogram: "HexLengthEquals16",
1618
1683
  # application_transaction_counter: "HexLengthBetween2And4",
1619
1684
  # },
1620
1685
  # },
1686
+ # dukpt_iso_9797_algorithm_1: {
1687
+ # key_serial_number: "HexLengthBetween10And24", # required
1688
+ # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
1689
+ # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1690
+ # },
1691
+ # dukpt_iso_9797_algorithm_3: {
1692
+ # key_serial_number: "HexLengthBetween10And24", # required
1693
+ # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
1694
+ # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1695
+ # },
1696
+ # dukpt_cmac: {
1697
+ # key_serial_number: "HexLengthBetween10And24", # required
1698
+ # dukpt_key_variant: "BIDIRECTIONAL", # required, accepts BIDIRECTIONAL, REQUEST, RESPONSE
1699
+ # dukpt_derivation_type: "TDES_2KEY", # accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1700
+ # },
1621
1701
  # },
1702
+ # mac_length: 1,
1622
1703
  # })
1623
1704
  #
1624
1705
  # @example Response structure
@@ -1666,16 +1747,24 @@ module Aws::PaymentCryptographyData
1666
1747
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
1667
1748
  # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
1668
1749
  #
1669
- # @option params [Types::DukptAttributes] :dukpt_attributes
1670
- # The attributes and values for the DUKPT encrypted PIN block data.
1750
+ # @option params [required, String] :verification_key_identifier
1751
+ # The `keyARN` of the PIN verification key.
1752
+ #
1753
+ # @option params [required, String] :encryption_key_identifier
1754
+ # The `keyARN` of the encryption key under which the PIN block data is
1755
+ # encrypted. This key type can be PEK or BDK.
1756
+ #
1757
+ # @option params [required, Types::PinVerificationAttributes] :verification_attributes
1758
+ # The attributes and values for PIN data verification.
1671
1759
  #
1672
1760
  # @option params [required, String] :encrypted_pin_block
1673
1761
  # The encrypted PIN block data that Amazon Web Services Payment
1674
1762
  # Cryptography verifies.
1675
1763
  #
1676
- # @option params [required, String] :encryption_key_identifier
1677
- # The `keyARN` of the encryption key under which the PIN block data is
1678
- # encrypted. This key type can be PEK or BDK.
1764
+ # @option params [required, String] :primary_account_number
1765
+ # The Primary Account Number (PAN), a unique identifier for a payment
1766
+ # credit or debit card that associates the card with a specific account
1767
+ # holder.
1679
1768
  #
1680
1769
  # @option params [required, String] :pin_block_format
1681
1770
  # The PIN encoding format for pin data generation as specified in ISO
@@ -1692,57 +1781,49 @@ module Aws::PaymentCryptographyData
1692
1781
  # @option params [Integer] :pin_data_length
1693
1782
  # The length of PIN being verified.
1694
1783
  #
1695
- # @option params [required, String] :primary_account_number
1696
- # The Primary Account Number (PAN), a unique identifier for a payment
1697
- # credit or debit card that associates the card with a specific account
1698
- # holder.
1699
- #
1700
- # @option params [required, Types::PinVerificationAttributes] :verification_attributes
1701
- # The attributes and values for PIN data verification.
1702
- #
1703
- # @option params [required, String] :verification_key_identifier
1704
- # The `keyARN` of the PIN verification key.
1784
+ # @option params [Types::DukptAttributes] :dukpt_attributes
1785
+ # The attributes and values for the DUKPT encrypted PIN block data.
1705
1786
  #
1706
1787
  # @return [Types::VerifyPinDataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1707
1788
  #
1708
- # * {Types::VerifyPinDataOutput#encryption_key_arn #encryption_key_arn} => String
1709
- # * {Types::VerifyPinDataOutput#encryption_key_check_value #encryption_key_check_value} => String
1710
1789
  # * {Types::VerifyPinDataOutput#verification_key_arn #verification_key_arn} => String
1711
1790
  # * {Types::VerifyPinDataOutput#verification_key_check_value #verification_key_check_value} => String
1791
+ # * {Types::VerifyPinDataOutput#encryption_key_arn #encryption_key_arn} => String
1792
+ # * {Types::VerifyPinDataOutput#encryption_key_check_value #encryption_key_check_value} => String
1712
1793
  #
1713
1794
  # @example Request syntax with placeholder values
1714
1795
  #
1715
1796
  # resp = client.verify_pin_data({
1716
- # dukpt_attributes: {
1717
- # dukpt_derivation_type: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1718
- # key_serial_number: "HexLengthBetween10And24", # required
1719
- # },
1720
- # encrypted_pin_block: "HexLengthBetween16And32", # required
1797
+ # verification_key_identifier: "KeyArnOrKeyAliasType", # required
1721
1798
  # encryption_key_identifier: "KeyArnOrKeyAliasType", # required
1722
- # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3
1723
- # pin_data_length: 1,
1724
- # primary_account_number: "NumberLengthBetween12And19", # required
1725
1799
  # verification_attributes: { # required
1726
- # ibm_3624_pin: {
1727
- # decimalization_table: "NumberLengthEquals16", # required
1728
- # pin_offset: "NumberLengthBetween4And12", # required
1729
- # pin_validation_data: "NumberLengthBetween4And16", # required
1730
- # pin_validation_data_pad_character: "HexLengthEquals1", # required
1731
- # },
1732
1800
  # visa_pin: {
1733
1801
  # pin_verification_key_index: 1, # required
1734
1802
  # verification_value: "NumberLengthBetween4And12", # required
1735
1803
  # },
1804
+ # ibm_3624_pin: {
1805
+ # decimalization_table: "NumberLengthEquals16", # required
1806
+ # pin_validation_data_pad_character: "HexLengthEquals1", # required
1807
+ # pin_validation_data: "NumberLengthBetween4And16", # required
1808
+ # pin_offset: "NumberLengthBetween4And12", # required
1809
+ # },
1810
+ # },
1811
+ # encrypted_pin_block: "HexLengthBetween16And32", # required
1812
+ # primary_account_number: "NumberLengthBetween12And19", # required
1813
+ # pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3
1814
+ # pin_data_length: 1,
1815
+ # dukpt_attributes: {
1816
+ # key_serial_number: "HexLengthBetween10And24", # required
1817
+ # dukpt_derivation_type: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1736
1818
  # },
1737
- # verification_key_identifier: "KeyArnOrKeyAliasType", # required
1738
1819
  # })
1739
1820
  #
1740
1821
  # @example Response structure
1741
1822
  #
1742
- # resp.encryption_key_arn #=> String
1743
- # resp.encryption_key_check_value #=> String
1744
1823
  # resp.verification_key_arn #=> String
1745
1824
  # resp.verification_key_check_value #=> String
1825
+ # resp.encryption_key_arn #=> String
1826
+ # resp.encryption_key_check_value #=> String
1746
1827
  #
1747
1828
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyPinData AWS API Documentation
1748
1829
  #
@@ -1766,7 +1847,7 @@ module Aws::PaymentCryptographyData
1766
1847
  params: params,
1767
1848
  config: config)
1768
1849
  context[:gem_name] = 'aws-sdk-paymentcryptographydata'
1769
- context[:gem_version] = '1.15.0'
1850
+ context[:gem_version] = '1.17.0'
1770
1851
  Seahorse::Client::Request.new(handlers, context)
1771
1852
  end
1772
1853