aws-sdk-paymentcryptographydata 1.15.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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