aws-sdk-paymentcryptography 1.34.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4aed9181793589d8452fb5dfa794541090e900c0fcee2884f442ef3dc8afef15
4
- data.tar.gz: 703e11decb45a33b0b24b9689949e427c1d5b16427b89250659d7372ddcfb45e
3
+ metadata.gz: 2b82257d0b505dd9e95699af27757d9d6d0907123194d3d7476439fcb8760873
4
+ data.tar.gz: b600cce9ff9235bf63fe8f412176c51427338268af22a9dd4c0f561cd535477c
5
5
  SHA512:
6
- metadata.gz: d15367aae68ef0de20cf3e1612f9a44e0259b57ea3b032b437d3406f5251b59cde04b03cfdeb00415e2f767bb18514ac322826d42a94aa3d0f403c9f9390eb89
7
- data.tar.gz: 5b8b6687906d9220cfb06cc8028551d1224d6142c7b46721d015b49a9d0855bac93ad6bdc9e21ea2cc5e6e8dd7750fbe48a5109bc6f3902b788e04162fecd506
6
+ metadata.gz: 2924ad8a47d784c8f56e383e8a6e5df4be1dbfbdf640295597fe84caff5fd47cced7482a06d934ea952e21651fc88a85fb1009192a52f374752f7036bc5da5f3
7
+ data.tar.gz: 0cc170a9d683234ef0f4c2fe3f4c7efb45dca524fc304e51c264eeb0f5fb90437423a11316bde7caccc53c0c259cffd2a428027f139630c9e832eb3474f0f613
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.36.0 (2025-06-19)
5
+ ------------------
6
+
7
+ * Feature - Additional support for managing HMAC keys that adheres to changes documented in X9.143-2021 and provides better interoperability for key import/export
8
+
9
+ 1.35.0 (2025-06-02)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.34.0 (2025-05-12)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.34.0
1
+ 1.36.0
@@ -569,16 +569,33 @@ module Aws::PaymentCryptography
569
569
  # key, for example key class (example: `SYMMETRIC_KEY`), key algorithm
570
570
  # (example: `TDES_2KEY`), key usage (example:
571
571
  # `TR31_P0_PIN_ENCRYPTION_KEY`) and key modes of use (example:
572
- # `Encrypt`). For information about valid combinations of key
573
- # attributes, see [Understanding key attributes][1] in the *Amazon Web
574
- # Services Payment Cryptography User Guide*. The mutable data contained
575
- # within a key includes usage timestamp and key deletion timestamp and
576
- # can be modified after creation.
577
- #
578
- # Amazon Web Services Payment Cryptography binds key attributes to keys
579
- # using key blocks when you store or export them. Amazon Web Services
580
- # Payment Cryptography stores the key contents wrapped and never stores
581
- # or transmits them in the clear.
572
+ # `Encrypt`). Amazon Web Services Payment Cryptography binds key
573
+ # attributes to keys using key blocks when you store or export them.
574
+ # Amazon Web Services Payment Cryptography stores the key contents
575
+ # wrapped and never stores or transmits them in the clear.
576
+ #
577
+ # For information about valid combinations of key attributes, see
578
+ # [Understanding key attributes][1] in the *Amazon Web Services Payment
579
+ # Cryptography User Guide*. The mutable data contained within a key
580
+ # includes usage timestamp and key deletion timestamp and can be
581
+ # modified after creation.
582
+ #
583
+ # You can use the `CreateKey` operation to generate an ECC (Elliptic
584
+ # Curve Cryptography) key pair used for establishing an ECDH (Elliptic
585
+ # Curve Diffie-Hellman) key agreement between two parties. In the ECDH
586
+ # key agreement process, both parties generate their own ECC key pair
587
+ # with key usage K3 and exchange the public keys. Each party then use
588
+ # their private key, the received public key from the other party, and
589
+ # the key derivation parameters including key derivation function, hash
590
+ # algorithm, derivation data, and key algorithm to derive a shared key.
591
+ #
592
+ # To maintain the single-use principle of cryptographic keys in
593
+ # payments, ECDH derived keys should not be used for multiple purposes,
594
+ # such as a `TR31_P0_PIN_ENCRYPTION_KEY` and
595
+ # `TR31_K1_KEY_BLOCK_PROTECTION_KEY`. When creating ECC key pairs in
596
+ # Amazon Web Services Payment Cryptography you can optionally set the
597
+ # `DeriveKeyUsage` parameter, which defines the key usage bound to the
598
+ # symmetric key that will be derived using the ECC key pair.
582
599
  #
583
600
  # **Cross-account use**: This operation can't be used across different
584
601
  # Amazon Web Services accounts.
@@ -647,8 +664,11 @@ module Aws::PaymentCryptography
647
664
  # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html
648
665
  #
649
666
  # @option params [String] :derive_key_usage
650
- # The cryptographic usage of an ECDH derived key as defined in section
651
- # A.5.2 of the TR-31 spec.
667
+ # The intended cryptographic usage of keys derived from the ECC key pair
668
+ # to be created.
669
+ #
670
+ # After creating an ECC key pair, you cannot change the intended
671
+ # cryptographic usage of keys derived from it using ECDH.
652
672
  #
653
673
  # @return [Types::CreateKeyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
654
674
  #
@@ -660,7 +680,7 @@ module Aws::PaymentCryptography
660
680
  # key_attributes: { # required
661
681
  # key_usage: "TR31_B0_BASE_DERIVATION_KEY", # required, accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY, TR31_K2_TR34_ASYMMETRIC_KEY
662
682
  # key_class: "SYMMETRIC_KEY", # required, accepts SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, PRIVATE_KEY, PUBLIC_KEY
663
- # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
683
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
664
684
  # key_modes_of_use: { # required
665
685
  # encrypt: false,
666
686
  # decrypt: false,
@@ -673,7 +693,7 @@ module Aws::PaymentCryptography
673
693
  # no_restrictions: false,
674
694
  # },
675
695
  # },
676
- # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
696
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC
677
697
  # exportable: false, # required
678
698
  # enabled: false,
679
699
  # tags: [
@@ -690,7 +710,7 @@ module Aws::PaymentCryptography
690
710
  # resp.key.key_arn #=> String
691
711
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
692
712
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
693
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
713
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
694
714
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
695
715
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
696
716
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -701,7 +721,7 @@ module Aws::PaymentCryptography
701
721
  # resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
702
722
  # resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
703
723
  # resp.key.key_check_value #=> String
704
- # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
724
+ # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
705
725
  # resp.key.enabled #=> Boolean
706
726
  # resp.key.exportable #=> Boolean
707
727
  # resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
@@ -833,7 +853,7 @@ module Aws::PaymentCryptography
833
853
  # resp.key.key_arn #=> String
834
854
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
835
855
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
836
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
856
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
837
857
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
838
858
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
839
859
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -844,7 +864,7 @@ module Aws::PaymentCryptography
844
864
  # resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
845
865
  # resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
846
866
  # resp.key.key_check_value #=> String
847
- # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
867
+ # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
848
868
  # resp.key.enabled #=> Boolean
849
869
  # resp.key.exportable #=> Boolean
850
870
  # resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
@@ -878,20 +898,21 @@ module Aws::PaymentCryptography
878
898
  # For symmetric key exchange, Amazon Web Services Payment Cryptography
879
899
  # uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And
880
900
  # for asymmetric key exchange, Amazon Web Services Payment Cryptography
881
- # supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange
882
- # mechanism. Asymmetric key exchange methods are typically used to
883
- # establish bi-directional trust between the two parties exhanging keys
884
- # and are used for initial key exchange such as Key Encryption Key
885
- # (KEK). After which you can export working keys using symmetric method
886
- # to perform various cryptographic operations within Amazon Web Services
887
- # Payment Cryptography.
888
- #
889
- # The TR-34 norm is intended for exchanging 3DES keys only and keys are
890
- # imported in a WrappedKeyBlock format. Key attributes (such as
891
- # KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained
892
- # within the key block. With RSA wrap and unwrap, you can exchange both
893
- # 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram
894
- # format and you will need to specify the key attributes during import.
901
+ # supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve
902
+ # Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange
903
+ # methods are typically used to establish bi-directional trust between
904
+ # the two parties exhanging keys and are used for initial key exchange
905
+ # such as Key Encryption Key (KEK). After which you can export working
906
+ # keys using symmetric method to perform various cryptographic
907
+ # operations within Amazon Web Services Payment Cryptography.
908
+ #
909
+ # PCI requires specific minimum key strength of wrapping keys used to
910
+ # protect the keys being exchanged electronically. These requirements
911
+ # can change when PCI standards are revised. The rules specify that
912
+ # wrapping keys used for transport must be at least as strong as the key
913
+ # being protected. For more information on recommended key strength of
914
+ # wrapping keys and key exchange mechanism, see [Importing and exporting
915
+ # keys][1] in the *Amazon Web Services Payment Cryptography User Guide*.
895
916
  #
896
917
  # You can also use `ExportKey` functionality to generate and export an
897
918
  # IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment
@@ -911,7 +932,7 @@ module Aws::PaymentCryptography
911
932
  #
912
933
  # The `OptionalBlocks` contain the additional data related to the key.
913
934
  # For information on data type that can be included within optional
914
- # blocks, refer to [ASC X9.143-2022][1].
935
+ # blocks, refer to [ASC X9.143-2022][2].
915
936
  #
916
937
  # <note markdown="1"> Data included in key block headers is signed but transmitted in clear
917
938
  # text. Sensitive or confidential information should not be included in
@@ -932,7 +953,7 @@ module Aws::PaymentCryptography
932
953
  # the key.
933
954
  #
934
955
  # To initiate TR-34 key export, the KRD must obtain an export token by
935
- # calling [GetParametersForExport][2]. This operation also generates a
956
+ # calling [GetParametersForExport][3]. This operation also generates a
936
957
  # key pair for the purpose of key export, signs the key and returns back
937
958
  # the signing public key certificate (also known as KDH signing
938
959
  # certificate) and root certificate chain. The KDH uses the private key
@@ -940,18 +961,18 @@ module Aws::PaymentCryptography
940
961
  # is provided to KRD to verify the signature. The KRD can import the
941
962
  # root certificate into its Hardware Security Module (HSM), as required.
942
963
  # The export token and the associated KDH signing certificate expires
943
- # after 7 days.
964
+ # after 30 days.
944
965
  #
945
966
  # Next the KRD generates a key pair for the the purpose of encrypting
946
967
  # the KDH key and provides the public key cerificate (also known as KRD
947
968
  # wrapping certificate) back to KDH. The KRD will also import the root
948
969
  # cerificate chain into Amazon Web Services Payment Cryptography by
949
- # calling [ImportKey][3] for `RootCertificatePublicKey`. The KDH, Amazon
970
+ # calling [ImportKey][4] for `RootCertificatePublicKey`. The KDH, Amazon
950
971
  # Web Services Payment Cryptography, will use the KRD wrapping
951
972
  # cerificate to encrypt (wrap) the key under export and signs it with
952
973
  # signing private key to generate a TR-34 WrappedKeyBlock. For more
953
974
  # information on TR-34 key export, see section [Exporting symmetric
954
- # keys][4] in the *Amazon Web Services Payment Cryptography User Guide*.
975
+ # keys][5] in the *Amazon Web Services Payment Cryptography User Guide*.
955
976
  #
956
977
  # Set the following parameters:
957
978
  #
@@ -967,7 +988,7 @@ module Aws::PaymentCryptography
967
988
  # certificate chain that signed the KRD wrapping key certificate.
968
989
  #
969
990
  # * `ExportToken`: Obtained from KDH by calling
970
- # [GetParametersForImport][5].
991
+ # [GetParametersForImport][6].
971
992
  #
972
993
  # * `WrappingKeyCertificate`: The public key certificate in PEM format
973
994
  # (base64 encoded) of the KRD wrapping key Amazon Web Services Payment
@@ -986,7 +1007,7 @@ module Aws::PaymentCryptography
986
1007
  # asymmetric key pair on the receiving HSM and obtain the public key
987
1008
  # certificate in PEM format (base64 encoded) for the purpose of wrapping
988
1009
  # and the root certifiate chain. Import the root certificate into Amazon
989
- # Web Services Payment Cryptography by calling [ImportKey][3] for
1010
+ # Web Services Payment Cryptography by calling [ImportKey][4] for
990
1011
  # `RootCertificatePublicKey`.
991
1012
  #
992
1013
  # Next call `ExportKey` and set the following parameters:
@@ -1010,7 +1031,7 @@ module Aws::PaymentCryptography
1010
1031
  # Using this operation, you can export working keys or IPEK using TR-31
1011
1032
  # symmetric key exchange. In TR-31, you must use an initial key such as
1012
1033
  # KEK to encrypt or wrap the key under export. To establish a KEK, you
1013
- # can use [CreateKey][6] or [ImportKey][3].
1034
+ # can use [CreateKey][7] or [ImportKey][4].
1014
1035
  #
1015
1036
  # Set the following parameters:
1016
1037
  #
@@ -1022,27 +1043,59 @@ module Aws::PaymentCryptography
1022
1043
  #
1023
1044
  # * `KeyMaterial`: Use `Tr31KeyBlock` parameters.
1024
1045
  #
1046
+ # **To export working keys using ECDH**
1047
+ #
1048
+ # You can also use ECDH key agreement to export working keys in a TR-31
1049
+ # keyblock, where the wrapping key is an ECDH derived key.
1050
+ #
1051
+ # To initiate a TR-31 key export using ECDH, both sides must create an
1052
+ # ECC key pair with key usage K3 and exchange public key certificates.
1053
+ # In Amazon Web Services Payment Cryptography, you can do this by
1054
+ # calling `CreateKey`. If you have not already done so, you must import
1055
+ # the CA chain that issued the receiving public key certificate by
1056
+ # calling `ImportKey` with input `RootCertificatePublicKey` for root CA
1057
+ # or `TrustedPublicKey` for intermediate CA. You can then complete a
1058
+ # TR-31 key export by deriving a shared wrapping key using the service
1059
+ # ECC key pair, public certificate of your ECC key pair outside of
1060
+ # Amazon Web Services Payment Cryptography, and the key derivation
1061
+ # parameters including key derivation function, hash algorithm,
1062
+ # derivation data, key algorithm.
1063
+ #
1064
+ # * `KeyMaterial`: Use `DiffieHellmanTr31KeyBlock` parameters.
1065
+ #
1066
+ # * `PrivateKeyIdentifier`: The `KeyArn` of the ECC key pair created
1067
+ # within Amazon Web Services Payment Cryptography to derive a shared
1068
+ # KEK.
1069
+ #
1070
+ # * `PublicKeyCertificate`: The public key certificate of the receiving
1071
+ # ECC key pair in PEM format (base64 encoded) to derive a shared KEK.
1072
+ #
1073
+ # * `CertificateAuthorityPublicKeyIdentifier`: The `keyARN` of the CA
1074
+ # that signed the public key certificate of the receiving ECC key
1075
+ # pair.
1076
+ #
1025
1077
  # When this operation is successful, Amazon Web Services Payment
1026
- # Cryptography returns the working key or IPEK as a TR-31
1027
- # WrappedKeyBlock.
1078
+ # Cryptography returns the working key as a TR-31 WrappedKeyBlock, where
1079
+ # the wrapping key is the ECDH derived key.
1028
1080
  #
1029
1081
  # **Cross-account use:** This operation can't be used across different
1030
1082
  # Amazon Web Services accounts.
1031
1083
  #
1032
1084
  # **Related operations:**
1033
1085
  #
1034
- # * [GetParametersForExport][2]
1086
+ # * [GetParametersForExport][3]
1035
1087
  #
1036
- # * [ImportKey][3]
1088
+ # * [ImportKey][4]
1037
1089
  #
1038
1090
  #
1039
1091
  #
1040
- # [1]: https://webstore.ansi.org/standards/ascx9/ansix91432022
1041
- # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForExport.html
1042
- # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
1043
- # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-export.html
1044
- # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html
1045
- # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
1092
+ # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-importexport.html
1093
+ # [2]: https://webstore.ansi.org/standards/ascx9/ansix91432022
1094
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForExport.html
1095
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
1096
+ # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-export.html
1097
+ # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html
1098
+ # [7]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
1046
1099
  #
1047
1100
  # @option params [required, Types::ExportKeyMaterial] :key_material
1048
1101
  # The key block format type, for example, TR-34 or TR-31, to use during
@@ -1118,7 +1171,7 @@ module Aws::PaymentCryptography
1118
1171
  # private_key_identifier: "KeyArnOrKeyAliasType", # required
1119
1172
  # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1120
1173
  # public_key_certificate: "CertificateType", # required
1121
- # derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1174
+ # derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224
1122
1175
  # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1123
1176
  # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1124
1177
  # derivation_data: { # required
@@ -1149,7 +1202,7 @@ module Aws::PaymentCryptography
1149
1202
  # export_dukpt_initial_key: {
1150
1203
  # key_serial_number: "HexLength20Or24", # required
1151
1204
  # },
1152
- # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1205
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC
1153
1206
  # },
1154
1207
  # })
1155
1208
  #
@@ -1159,7 +1212,7 @@ module Aws::PaymentCryptography
1159
1212
  # resp.wrapped_key.wrapped_key_material_format #=> String, one of "KEY_CRYPTOGRAM", "TR31_KEY_BLOCK", "TR34_KEY_BLOCK"
1160
1213
  # resp.wrapped_key.key_material #=> String
1161
1214
  # resp.wrapped_key.key_check_value #=> String
1162
- # resp.wrapped_key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
1215
+ # resp.wrapped_key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
1163
1216
  #
1164
1217
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportKey AWS API Documentation
1165
1218
  #
@@ -1259,7 +1312,7 @@ module Aws::PaymentCryptography
1259
1312
  # resp.key.key_arn #=> String
1260
1313
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
1261
1314
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
1262
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1315
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1263
1316
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
1264
1317
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
1265
1318
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -1270,7 +1323,7 @@ module Aws::PaymentCryptography
1270
1323
  # resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
1271
1324
  # resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
1272
1325
  # resp.key.key_check_value #=> String
1273
- # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
1326
+ # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
1274
1327
  # resp.key.enabled #=> Boolean
1275
1328
  # resp.key.exportable #=> Boolean
1276
1329
  # resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
@@ -1297,7 +1350,7 @@ module Aws::PaymentCryptography
1297
1350
  # The signing key certificate signs the wrapped key under export within
1298
1351
  # the TR-34 key payload. The export token and signing key certificate
1299
1352
  # must be in place and operational before calling [ExportKey][1]. The
1300
- # export token expires in 7 days. You can use the same export token to
1353
+ # export token expires in 30 days. You can use the same export token to
1301
1354
  # export multiple keys from your service account.
1302
1355
  #
1303
1356
  # **Cross-account use:** This operation can't be used across different
@@ -1337,14 +1390,14 @@ module Aws::PaymentCryptography
1337
1390
  #
1338
1391
  # resp = client.get_parameters_for_export({
1339
1392
  # key_material_type: "TR34_KEY_BLOCK", # required, accepts TR34_KEY_BLOCK, TR31_KEY_BLOCK, ROOT_PUBLIC_KEY_CERTIFICATE, TRUSTED_PUBLIC_KEY_CERTIFICATE, KEY_CRYPTOGRAM
1340
- # signing_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1393
+ # signing_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1341
1394
  # })
1342
1395
  #
1343
1396
  # @example Response structure
1344
1397
  #
1345
1398
  # resp.signing_key_certificate #=> String
1346
1399
  # resp.signing_key_certificate_chain #=> String
1347
- # resp.signing_key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1400
+ # resp.signing_key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1348
1401
  # resp.export_token #=> String
1349
1402
  # resp.parameters_valid_until_timestamp #=> Time
1350
1403
  #
@@ -1364,8 +1417,8 @@ module Aws::PaymentCryptography
1364
1417
  #
1365
1418
  # The wrapping key certificate wraps the key under import. The import
1366
1419
  # token and wrapping key certificate must be in place and operational
1367
- # before calling [ImportKey][1]. The import token expires in 7 days. You
1368
- # can use the same import token to import multiple keys into your
1420
+ # before calling [ImportKey][1]. The import token expires in 30 days.
1421
+ # You can use the same import token to import multiple keys into your
1369
1422
  # service account.
1370
1423
  #
1371
1424
  # **Cross-account use:** This operation can't be used across different
@@ -1411,14 +1464,14 @@ module Aws::PaymentCryptography
1411
1464
  #
1412
1465
  # resp = client.get_parameters_for_import({
1413
1466
  # key_material_type: "TR34_KEY_BLOCK", # required, accepts TR34_KEY_BLOCK, TR31_KEY_BLOCK, ROOT_PUBLIC_KEY_CERTIFICATE, TRUSTED_PUBLIC_KEY_CERTIFICATE, KEY_CRYPTOGRAM
1414
- # wrapping_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1467
+ # wrapping_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1415
1468
  # })
1416
1469
  #
1417
1470
  # @example Response structure
1418
1471
  #
1419
1472
  # resp.wrapping_key_certificate #=> String
1420
1473
  # resp.wrapping_key_certificate_chain #=> String
1421
- # resp.wrapping_key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1474
+ # resp.wrapping_key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1422
1475
  # resp.import_token #=> String
1423
1476
  # resp.parameters_valid_until_timestamp #=> Time
1424
1477
  #
@@ -1483,20 +1536,22 @@ module Aws::PaymentCryptography
1483
1536
  # For symmetric key exchange, Amazon Web Services Payment Cryptography
1484
1537
  # uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And
1485
1538
  # for asymmetric key exchange, Amazon Web Services Payment Cryptography
1486
- # supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange
1487
- # mechanisms. Asymmetric key exchange methods are typically used to
1488
- # establish bi-directional trust between the two parties exhanging keys
1489
- # and are used for initial key exchange such as Key Encryption Key (KEK)
1490
- # or Zone Master Key (ZMK). After which you can import working keys
1491
- # using symmetric method to perform various cryptographic operations
1492
- # within Amazon Web Services Payment Cryptography.
1539
+ # supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve
1540
+ # Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange
1541
+ # methods are typically used to establish bi-directional trust between
1542
+ # the two parties exhanging keys and are used for initial key exchange
1543
+ # such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which
1544
+ # you can import working keys using symmetric method to perform various
1545
+ # cryptographic operations within Amazon Web Services Payment
1546
+ # Cryptography.
1493
1547
  #
1494
- # The TR-34 norm is intended for exchanging 3DES keys only and keys are
1495
- # imported in a WrappedKeyBlock format. Key attributes (such as
1496
- # KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained
1497
- # within the key block. With RSA wrap and unwrap, you can exchange both
1498
- # 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram
1499
- # format and you will need to specify the key attributes during import.
1548
+ # PCI requires specific minimum key strength of wrapping keys used to
1549
+ # protect the keys being exchanged electronically. These requirements
1550
+ # can change when PCI standards are revised. The rules specify that
1551
+ # wrapping keys used for transport must be at least as strong as the key
1552
+ # being protected. For more information on recommended key strength of
1553
+ # wrapping keys and key exchange mechanism, see [Importing and exporting
1554
+ # keys][1] in the *Amazon Web Services Payment Cryptography User Guide*.
1500
1555
  #
1501
1556
  # You can also import a *root public key certificate*, used to sign
1502
1557
  # other public key certificates, or a *trusted public key certificate*
@@ -1551,13 +1606,13 @@ module Aws::PaymentCryptography
1551
1606
  # Amazon Web Services Payment Cryptography who receives the key.
1552
1607
  #
1553
1608
  # To initiate TR-34 key import, the KDH must obtain an import token by
1554
- # calling [GetParametersForImport][1]. This operation generates an
1609
+ # calling [GetParametersForImport][2]. This operation generates an
1555
1610
  # encryption keypair for the purpose of key import, signs the key and
1556
1611
  # returns back the wrapping key certificate (also known as KRD wrapping
1557
1612
  # certificate) and the root certificate chain. The KDH must trust and
1558
1613
  # install the KRD wrapping certificate on its HSM and use it to encrypt
1559
1614
  # (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import
1560
- # token and associated KRD wrapping certificate expires after 7 days.
1615
+ # token and associated KRD wrapping certificate expires after 30 days.
1561
1616
  #
1562
1617
  # Next the KDH generates a key pair for the purpose of signing the
1563
1618
  # encrypted KDH key and provides the public certificate of the signing
@@ -1565,7 +1620,7 @@ module Aws::PaymentCryptography
1565
1620
  # need to import the root certificate chain of the KDH signing
1566
1621
  # certificate by calling `ImportKey` for `RootCertificatePublicKey`. For
1567
1622
  # more information on TR-34 key import, see section [Importing symmetric
1568
- # keys][2] in the *Amazon Web Services Payment Cryptography User Guide*.
1623
+ # keys][3] in the *Amazon Web Services Payment Cryptography User Guide*.
1569
1624
  #
1570
1625
  # Set the following parameters:
1571
1626
  #
@@ -1575,7 +1630,7 @@ module Aws::PaymentCryptography
1575
1630
  # certificate chain that signed the KDH signing key certificate.
1576
1631
  #
1577
1632
  # * `ImportToken`: Obtained from KRD by calling
1578
- # [GetParametersForImport][1].
1633
+ # [GetParametersForImport][2].
1579
1634
  #
1580
1635
  # * `WrappedKeyBlock`: The TR-34 wrapped key material from KDH. It
1581
1636
  # contains the KDH key under import, wrapped with KRD wrapping
@@ -1593,12 +1648,12 @@ module Aws::PaymentCryptography
1593
1648
  #
1594
1649
  # Using this operation, you can import initial key using asymmetric RSA
1595
1650
  # wrap and unwrap key exchange method. To initiate import, call
1596
- # [GetParametersForImport][1] with `KeyMaterial` set to `KEY_CRYPTOGRAM`
1651
+ # [GetParametersForImport][2] with `KeyMaterial` set to `KEY_CRYPTOGRAM`
1597
1652
  # to generate an import token. This operation also generates an
1598
1653
  # encryption keypair for the purpose of key import, signs the key and
1599
1654
  # returns back the wrapping key certificate in PEM format (base64
1600
1655
  # encoded) and its root certificate chain. The import token and
1601
- # associated KRD wrapping certificate expires after 7 days.
1656
+ # associated KRD wrapping certificate expires after 30 days.
1602
1657
  #
1603
1658
  # You must trust and install the wrapping certificate and its
1604
1659
  # certificate chain on the sending HSM and use it to wrap the key under
@@ -1611,7 +1666,7 @@ module Aws::PaymentCryptography
1611
1666
  # Amazon Web Services Payment Cryptography uses TR-31 symmetric key
1612
1667
  # exchange norm to import working keys. A KEK must be established within
1613
1668
  # Amazon Web Services Payment Cryptography by using TR-34 key import or
1614
- # by using [CreateKey][3]. To initiate a TR-31 key import, set the
1669
+ # by using [CreateKey][4]. To initiate a TR-31 key import, set the
1615
1670
  # following parameters:
1616
1671
  #
1617
1672
  # * `KeyMaterial`: Use `Tr31KeyBlock` parameters.
@@ -1625,21 +1680,57 @@ module Aws::PaymentCryptography
1625
1680
  # Services Payment Cryptography uses to decrypt or unwrap the key
1626
1681
  # under import.
1627
1682
  #
1683
+ # **To import working keys using ECDH**
1684
+ #
1685
+ # You can also use ECDH key agreement to import working keys as a TR-31
1686
+ # keyblock, where the wrapping key is an ECDH derived key.
1687
+ #
1688
+ # To initiate a TR-31 key import using ECDH, both sides must create an
1689
+ # ECC key pair with key usage K3 and exchange public key certificates.
1690
+ # In Amazon Web Services Payment Cryptography, you can do this by
1691
+ # calling `CreateKey` and then `GetPublicKeyCertificate` to retrieve its
1692
+ # public key certificate. Next, you can then generate a TR-31
1693
+ # WrappedKeyBlock using your own ECC key pair, the public certificate of
1694
+ # the service's ECC key pair, and the key derivation parameters
1695
+ # including key derivation function, hash algorithm, derivation data,
1696
+ # and key algorithm. If you have not already done so, you must import
1697
+ # the CA chain that issued the receiving public key certificate by
1698
+ # calling `ImportKey` with input `RootCertificatePublicKey` for root CA
1699
+ # or `TrustedPublicKey` for intermediate CA. To complete the TR-31 key
1700
+ # import, you can use the following parameters. It is important that the
1701
+ # ECDH key derivation parameters you use should match those used during
1702
+ # import to derive the same shared wrapping key within Amazon Web
1703
+ # Services Payment Cryptography.
1704
+ #
1705
+ # * `KeyMaterial`: Use `DiffieHellmanTr31KeyBlock` parameters.
1706
+ #
1707
+ # * `PrivateKeyIdentifier`: The `KeyArn` of the ECC key pair created
1708
+ # within Amazon Web Services Payment Cryptography to derive a shared
1709
+ # KEK.
1710
+ #
1711
+ # * `PublicKeyCertificate`: The public key certificate of the receiving
1712
+ # ECC key pair in PEM format (base64 encoded) to derive a shared KEK.
1713
+ #
1714
+ # * `CertificateAuthorityPublicKeyIdentifier`: The `keyARN` of the CA
1715
+ # that signed the public key certificate of the receiving ECC key
1716
+ # pair.
1717
+ #
1628
1718
  # **Cross-account use:** This operation can't be used across different
1629
1719
  # Amazon Web Services accounts.
1630
1720
  #
1631
1721
  # **Related operations:**
1632
1722
  #
1633
- # * [ExportKey][4]
1723
+ # * [ExportKey][5]
1634
1724
  #
1635
- # * [GetParametersForImport][1]
1725
+ # * [GetParametersForImport][2]
1636
1726
  #
1637
1727
  #
1638
1728
  #
1639
- # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html
1640
- # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-import.html
1641
- # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
1642
- # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ExportKey.html
1729
+ # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-importexport.html
1730
+ # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html
1731
+ # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-import.html
1732
+ # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
1733
+ # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ExportKey.html
1643
1734
  #
1644
1735
  # @option params [required, Types::ImportKeyMaterial] :key_material
1645
1736
  # The key or public key certificate type to use during key material
@@ -1698,7 +1789,7 @@ module Aws::PaymentCryptography
1698
1789
  # key_attributes: { # required
1699
1790
  # key_usage: "TR31_B0_BASE_DERIVATION_KEY", # required, accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY, TR31_K2_TR34_ASYMMETRIC_KEY
1700
1791
  # key_class: "SYMMETRIC_KEY", # required, accepts SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, PRIVATE_KEY, PUBLIC_KEY
1701
- # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1792
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1702
1793
  # key_modes_of_use: { # required
1703
1794
  # encrypt: false,
1704
1795
  # decrypt: false,
@@ -1717,7 +1808,7 @@ module Aws::PaymentCryptography
1717
1808
  # key_attributes: { # required
1718
1809
  # key_usage: "TR31_B0_BASE_DERIVATION_KEY", # required, accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY, TR31_K2_TR34_ASYMMETRIC_KEY
1719
1810
  # key_class: "SYMMETRIC_KEY", # required, accepts SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, PRIVATE_KEY, PUBLIC_KEY
1720
- # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1811
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1721
1812
  # key_modes_of_use: { # required
1722
1813
  # encrypt: false,
1723
1814
  # decrypt: false,
@@ -1749,7 +1840,7 @@ module Aws::PaymentCryptography
1749
1840
  # key_attributes: { # required
1750
1841
  # key_usage: "TR31_B0_BASE_DERIVATION_KEY", # required, accepts TR31_B0_BASE_DERIVATION_KEY, TR31_C0_CARD_VERIFICATION_KEY, TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY, TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION, TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS, TR31_E1_EMV_MKEY_CONFIDENTIALITY, TR31_E2_EMV_MKEY_INTEGRITY, TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS, TR31_E5_EMV_MKEY_CARD_PERSONALIZATION, TR31_E6_EMV_MKEY_OTHER, TR31_K0_KEY_ENCRYPTION_KEY, TR31_K1_KEY_BLOCK_PROTECTION_KEY, TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT, TR31_M3_ISO_9797_3_MAC_KEY, TR31_M1_ISO_9797_1_MAC_KEY, TR31_M6_ISO_9797_5_CMAC_KEY, TR31_M7_HMAC_KEY, TR31_P0_PIN_ENCRYPTION_KEY, TR31_P1_PIN_GENERATION_KEY, TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE, TR31_V1_IBM3624_PIN_VERIFICATION_KEY, TR31_V2_VISA_PIN_VERIFICATION_KEY, TR31_K2_TR34_ASYMMETRIC_KEY
1751
1842
  # key_class: "SYMMETRIC_KEY", # required, accepts SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, PRIVATE_KEY, PUBLIC_KEY
1752
- # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1843
+ # key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521
1753
1844
  # key_modes_of_use: { # required
1754
1845
  # encrypt: false,
1755
1846
  # decrypt: false,
@@ -1771,7 +1862,7 @@ module Aws::PaymentCryptography
1771
1862
  # private_key_identifier: "KeyArnOrKeyAliasType", # required
1772
1863
  # certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
1773
1864
  # public_key_certificate: "CertificateType", # required
1774
- # derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
1865
+ # derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224
1775
1866
  # key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
1776
1867
  # key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
1777
1868
  # derivation_data: { # required
@@ -1780,7 +1871,7 @@ module Aws::PaymentCryptography
1780
1871
  # wrapped_key_block: "Tr31WrappedKeyBlock", # required
1781
1872
  # },
1782
1873
  # },
1783
- # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
1874
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC
1784
1875
  # enabled: false,
1785
1876
  # tags: [
1786
1877
  # {
@@ -1795,7 +1886,7 @@ module Aws::PaymentCryptography
1795
1886
  # resp.key.key_arn #=> String
1796
1887
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
1797
1888
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
1798
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1889
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1799
1890
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
1800
1891
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
1801
1892
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -1806,7 +1897,7 @@ module Aws::PaymentCryptography
1806
1897
  # resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
1807
1898
  # resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
1808
1899
  # resp.key.key_check_value #=> String
1809
- # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
1900
+ # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
1810
1901
  # resp.key.enabled #=> Boolean
1811
1902
  # resp.key.exportable #=> Boolean
1812
1903
  # resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
@@ -1974,7 +2065,7 @@ module Aws::PaymentCryptography
1974
2065
  # resp.keys[0].key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
1975
2066
  # resp.keys[0].key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
1976
2067
  # resp.keys[0].key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
1977
- # resp.keys[0].key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2068
+ # resp.keys[0].key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
1978
2069
  # resp.keys[0].key_attributes.key_modes_of_use.encrypt #=> Boolean
1979
2070
  # resp.keys[0].key_attributes.key_modes_of_use.decrypt #=> Boolean
1980
2071
  # resp.keys[0].key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -2114,7 +2205,7 @@ module Aws::PaymentCryptography
2114
2205
  # resp.key.key_arn #=> String
2115
2206
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
2116
2207
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
2117
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2208
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2118
2209
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
2119
2210
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
2120
2211
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -2125,7 +2216,7 @@ module Aws::PaymentCryptography
2125
2216
  # resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
2126
2217
  # resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
2127
2218
  # resp.key.key_check_value #=> String
2128
- # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
2219
+ # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
2129
2220
  # resp.key.enabled #=> Boolean
2130
2221
  # resp.key.exportable #=> Boolean
2131
2222
  # resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
@@ -2181,7 +2272,7 @@ module Aws::PaymentCryptography
2181
2272
  # resp.key.key_arn #=> String
2182
2273
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
2183
2274
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
2184
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2275
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2185
2276
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
2186
2277
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
2187
2278
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -2192,7 +2283,7 @@ module Aws::PaymentCryptography
2192
2283
  # resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
2193
2284
  # resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
2194
2285
  # resp.key.key_check_value #=> String
2195
- # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
2286
+ # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
2196
2287
  # resp.key.enabled #=> Boolean
2197
2288
  # resp.key.exportable #=> Boolean
2198
2289
  # resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
@@ -2252,7 +2343,7 @@ module Aws::PaymentCryptography
2252
2343
  # resp.key.key_arn #=> String
2253
2344
  # resp.key.key_attributes.key_usage #=> String, one of "TR31_B0_BASE_DERIVATION_KEY", "TR31_C0_CARD_VERIFICATION_KEY", "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION", "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "TR31_E1_EMV_MKEY_CONFIDENTIALITY", "TR31_E2_EMV_MKEY_INTEGRITY", "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION", "TR31_E6_EMV_MKEY_OTHER", "TR31_K0_KEY_ENCRYPTION_KEY", "TR31_K1_KEY_BLOCK_PROTECTION_KEY", "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "TR31_M3_ISO_9797_3_MAC_KEY", "TR31_M1_ISO_9797_1_MAC_KEY", "TR31_M6_ISO_9797_5_CMAC_KEY", "TR31_M7_HMAC_KEY", "TR31_P0_PIN_ENCRYPTION_KEY", "TR31_P1_PIN_GENERATION_KEY", "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "TR31_V1_IBM3624_PIN_VERIFICATION_KEY", "TR31_V2_VISA_PIN_VERIFICATION_KEY", "TR31_K2_TR34_ASYMMETRIC_KEY"
2254
2345
  # resp.key.key_attributes.key_class #=> String, one of "SYMMETRIC_KEY", "ASYMMETRIC_KEY_PAIR", "PRIVATE_KEY", "PUBLIC_KEY"
2255
- # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2346
+ # resp.key.key_attributes.key_algorithm #=> String, one of "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521"
2256
2347
  # resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
2257
2348
  # resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
2258
2349
  # resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
@@ -2263,7 +2354,7 @@ module Aws::PaymentCryptography
2263
2354
  # resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
2264
2355
  # resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
2265
2356
  # resp.key.key_check_value #=> String
2266
- # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
2357
+ # resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
2267
2358
  # resp.key.enabled #=> Boolean
2268
2359
  # resp.key.exportable #=> Boolean
2269
2360
  # resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
@@ -2493,7 +2584,7 @@ module Aws::PaymentCryptography
2493
2584
  tracer: tracer
2494
2585
  )
2495
2586
  context[:gem_name] = 'aws-sdk-paymentcryptography'
2496
- context[:gem_version] = '1.34.0'
2587
+ context[:gem_version] = '1.36.0'
2497
2588
  Seahorse::Client::Request.new(handlers, context)
2498
2589
  end
2499
2590
 
@@ -151,8 +151,11 @@ module Aws::PaymentCryptography
151
151
  # @return [Array<Types::Tag>]
152
152
  #
153
153
  # @!attribute [rw] derive_key_usage
154
- # The cryptographic usage of an ECDH derived key as defined in section
155
- # A.5.2 of the TR-31 spec.
154
+ # The intended cryptographic usage of keys derived from the ECC key
155
+ # pair to be created.
156
+ #
157
+ # After creating an ECC key pair, you cannot change the intended
158
+ # cryptographic usage of keys derived from it using ECDH.
156
159
  # @return [String]
157
160
  #
158
161
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/CreateKeyInput AWS API Documentation
@@ -228,18 +231,20 @@ module Aws::PaymentCryptography
228
231
  include Aws::Structure
229
232
  end
230
233
 
231
- # Derivation data used to derive an ECDH key.
234
+ # The shared information used when deriving a key using ECDH.
232
235
  #
233
236
  # @note DiffieHellmanDerivationData is a union - when making an API calls you must set exactly one of the members.
234
237
  #
235
238
  # @!attribute [rw] shared_information
236
- # A byte string containing information that binds the ECDH derived key
237
- # to the two parties involved or to the context of the key.
239
+ # A string containing information that binds the ECDH derived key to
240
+ # the two parties involved or to the context of the key.
238
241
  #
239
242
  # It may include details like identities of the two parties deriving
240
243
  # the key, context of the operation, session IDs, and optionally a
241
- # nonce. It must not contain zero bytes, and re-using shared
242
- # information for multiple ECDH key derivations is not recommended.
244
+ # nonce. It must not contain zero bytes. It is not recommended to
245
+ # reuse shared information for multiple ECDH key derivations, as it
246
+ # could result in derived key material being the same across different
247
+ # derivations.
243
248
  # @return [String]
244
249
  #
245
250
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/DiffieHellmanDerivationData AWS API Documentation
@@ -283,37 +288,38 @@ module Aws::PaymentCryptography
283
288
  include Aws::Structure
284
289
  end
285
290
 
286
- # Parameter information for key material export using the asymmetric
287
- # ECDH key exchange method.
291
+ # Key derivation parameter information for key material export using
292
+ # asymmetric ECDH key exchange method.
288
293
  #
289
294
  # @!attribute [rw] private_key_identifier
290
- # The `keyARN` of the asymmetric ECC key.
295
+ # The `keyARN` of the asymmetric ECC key created within Amazon Web
296
+ # Services Payment Cryptography.
291
297
  # @return [String]
292
298
  #
293
299
  # @!attribute [rw] certificate_authority_public_key_identifier
294
- # The `keyARN` of the certificate that signed the client's
295
- # `PublicKeyCertificate`.
300
+ # The `keyARN` of the CA that signed the `PublicKeyCertificate` for
301
+ # the client's receiving ECC key pair.
296
302
  # @return [String]
297
303
  #
298
304
  # @!attribute [rw] public_key_certificate
299
- # The client's public key certificate in PEM format (base64 encoded)
300
- # to use for ECDH key derivation.
305
+ # The public key certificate of the client's receiving ECC key pair,
306
+ # in PEM format (base64 encoded), to use for ECDH key derivation.
301
307
  # @return [String]
302
308
  #
303
309
  # @!attribute [rw] derive_key_algorithm
304
- # The key algorithm of the derived ECDH key.
310
+ # The key algorithm of the shared derived ECDH key.
305
311
  # @return [String]
306
312
  #
307
313
  # @!attribute [rw] key_derivation_function
308
- # The key derivation function to use for deriving a key using ECDH.
314
+ # The key derivation function to use when deriving a key using ECDH.
309
315
  # @return [String]
310
316
  #
311
317
  # @!attribute [rw] key_derivation_hash_algorithm
312
- # The hash type to use for deriving a key using ECDH.
318
+ # The hash type to use when deriving a key using ECDH.
313
319
  # @return [String]
314
320
  #
315
321
  # @!attribute [rw] derivation_data
316
- # Derivation data used to derive an ECDH key.
322
+ # The shared information used when deriving a key using ECDH.
317
323
  # @return [Types::DiffieHellmanDerivationData]
318
324
  #
319
325
  # @!attribute [rw] key_block_headers
@@ -428,8 +434,8 @@ module Aws::PaymentCryptography
428
434
  # @return [Types::ExportKeyCryptogram]
429
435
  #
430
436
  # @!attribute [rw] diffie_hellman_tr_31_key_block
431
- # Parameter information for key material export using the asymmetric
432
- # ECDH key exchange method.
437
+ # Key derivation parameter information for key material export using
438
+ # asymmetric ECDH key exchange method.
433
439
  # @return [Types::ExportDiffieHellmanTr31KeyBlock]
434
440
  #
435
441
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportKeyMaterial AWS API Documentation
@@ -505,7 +511,7 @@ module Aws::PaymentCryptography
505
511
  # Payment Cryptography. It also contains the signing key certificate
506
512
  # that will sign the wrapped key during TR-34 key block generation.
507
513
  # Call [GetParametersForExport][1] to receive an export token. It
508
- # expires after 7 days. You can use the same export token to export
514
+ # expires after 30 days. You can use the same export token to export
509
515
  # multiple keys from the same service account.
510
516
  #
511
517
  #
@@ -616,7 +622,7 @@ module Aws::PaymentCryptography
616
622
  # @!attribute [rw] signing_key_certificate
617
623
  # The signing key certificate in PEM format (base64 encoded) of the
618
624
  # public key for signature within the TR-34 key block. The certificate
619
- # expires after 7 days.
625
+ # expires after 30 days.
620
626
  # @return [String]
621
627
  #
622
628
  # @!attribute [rw] signing_key_certificate_chain
@@ -632,8 +638,8 @@ module Aws::PaymentCryptography
632
638
  #
633
639
  # @!attribute [rw] export_token
634
640
  # The export token to initiate key export from Amazon Web Services
635
- # Payment Cryptography. The export token expires after 7 days. You can
636
- # use the same export token to export multiple keys from the same
641
+ # Payment Cryptography. The export token expires after 30 days. You
642
+ # can use the same export token to export multiple keys from the same
637
643
  # service account.
638
644
  # @return [String]
639
645
  #
@@ -684,7 +690,7 @@ module Aws::PaymentCryptography
684
690
  # @!attribute [rw] wrapping_key_certificate
685
691
  # The wrapping key certificate in PEM format (base64 encoded) of the
686
692
  # wrapping key for use within the TR-34 key block. The certificate
687
- # expires in 7 days.
693
+ # expires in 30 days.
688
694
  # @return [String]
689
695
  #
690
696
  # @!attribute [rw] wrapping_key_certificate_chain
@@ -700,8 +706,8 @@ module Aws::PaymentCryptography
700
706
  #
701
707
  # @!attribute [rw] import_token
702
708
  # The import token to initiate key import into Amazon Web Services
703
- # Payment Cryptography. The import token expires after 7 days. You can
704
- # use the same import token to import multiple keys to the same
709
+ # Payment Cryptography. The import token expires after 30 days. You
710
+ # can use the same import token to import multiple keys to the same
705
711
  # service account.
706
712
  # @return [String]
707
713
  #
@@ -754,37 +760,38 @@ module Aws::PaymentCryptography
754
760
  include Aws::Structure
755
761
  end
756
762
 
757
- # Parameter information for key material import using the asymmetric
758
- # ECDH key exchange method.
763
+ # Key derivation parameter information for key material import using
764
+ # asymmetric ECDH key exchange method.
759
765
  #
760
766
  # @!attribute [rw] private_key_identifier
761
- # The `keyARN` of the asymmetric ECC key.
767
+ # The `keyARN` of the asymmetric ECC key created within Amazon Web
768
+ # Services Payment Cryptography.
762
769
  # @return [String]
763
770
  #
764
771
  # @!attribute [rw] certificate_authority_public_key_identifier
765
- # The `keyARN` of the certificate that signed the client's
766
- # `PublicKeyCertificate`.
772
+ # The `keyARN` of the CA that signed the `PublicKeyCertificate` for
773
+ # the client's receiving ECC key pair.
767
774
  # @return [String]
768
775
  #
769
776
  # @!attribute [rw] public_key_certificate
770
- # The client's public key certificate in PEM format (base64 encoded)
771
- # to use for ECDH key derivation.
777
+ # The public key certificate of the client's receiving ECC key pair,
778
+ # in PEM format (base64 encoded), to use for ECDH key derivation.
772
779
  # @return [String]
773
780
  #
774
781
  # @!attribute [rw] derive_key_algorithm
775
- # The key algorithm of the derived ECDH key.
782
+ # The key algorithm of the shared derived ECDH key.
776
783
  # @return [String]
777
784
  #
778
785
  # @!attribute [rw] key_derivation_function
779
- # The key derivation function to use for deriving a key using ECDH.
786
+ # The key derivation function to use when deriving a key using ECDH.
780
787
  # @return [String]
781
788
  #
782
789
  # @!attribute [rw] key_derivation_hash_algorithm
783
- # The hash type to use for deriving a key using ECDH.
790
+ # The hash type to use when deriving a key using ECDH.
784
791
  # @return [String]
785
792
  #
786
793
  # @!attribute [rw] derivation_data
787
- # Derivation data used to derive an ECDH key.
794
+ # The shared information used when deriving a key using ECDH.
788
795
  # @return [Types::DiffieHellmanDerivationData]
789
796
  #
790
797
  # @!attribute [rw] wrapped_key_block
@@ -826,8 +833,8 @@ module Aws::PaymentCryptography
826
833
  # @!attribute [rw] import_token
827
834
  # The import token that initiates key import using the asymmetric RSA
828
835
  # wrap and unwrap key exchange method into AWS Payment Cryptography.
829
- # It expires after 7 days. You can use the same import token to import
830
- # multiple keys to the same service account.
836
+ # It expires after 30 days. You can use the same import token to
837
+ # import multiple keys to the same service account.
831
838
  # @return [String]
832
839
  #
833
840
  # @!attribute [rw] wrapping_spec
@@ -937,8 +944,8 @@ module Aws::PaymentCryptography
937
944
  # @return [Types::ImportKeyCryptogram]
938
945
  #
939
946
  # @!attribute [rw] diffie_hellman_tr_31_key_block
940
- # Parameter information for key material import using the asymmetric
941
- # ECDH key exchange method.
947
+ # Key derivation parameter information for key material import using
948
+ # asymmetric ECDH key exchange method.
942
949
  # @return [Types::ImportDiffieHellmanTr31KeyBlock]
943
950
  #
944
951
  # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportKeyMaterial AWS API Documentation
@@ -1014,7 +1021,7 @@ module Aws::PaymentCryptography
1014
1021
  # @!attribute [rw] import_token
1015
1022
  # The import token that initiates key import using the asymmetric
1016
1023
  # TR-34 key exchange method into Amazon Web Services Payment
1017
- # Cryptography. It expires after 7 days. You can use the same import
1024
+ # Cryptography. It expires after 30 days. You can use the same import
1018
1025
  # token to import multiple keys to the same service account.
1019
1026
  # @return [String]
1020
1027
  #
@@ -55,7 +55,7 @@ module Aws::PaymentCryptography
55
55
  autoload :EndpointProvider, 'aws-sdk-paymentcryptography/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-paymentcryptography/endpoints'
57
57
 
58
- GEM_VERSION = '1.34.0'
58
+ GEM_VERSION = '1.36.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -98,7 +98,7 @@ module Aws
98
98
  key_attributes: {
99
99
  key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY"),
100
100
  key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY"),
101
- key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
101
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
102
102
  key_modes_of_use: {
103
103
  encrypt: bool?,
104
104
  decrypt: bool?,
@@ -111,7 +111,7 @@ module Aws
111
111
  no_restrictions: bool?
112
112
  }
113
113
  },
114
- ?key_check_value_algorithm: ("CMAC" | "ANSI_X9_24"),
114
+ ?key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC"),
115
115
  exportable: bool,
116
116
  ?enabled: bool,
117
117
  ?tags: Array[
@@ -202,7 +202,7 @@ module Aws
202
202
  private_key_identifier: ::String,
203
203
  certificate_authority_public_key_identifier: ::String,
204
204
  public_key_certificate: ::String,
205
- derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
205
+ derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224"),
206
206
  key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
207
207
  key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
208
208
  derivation_data: {
@@ -231,7 +231,7 @@ module Aws
231
231
  export_dukpt_initial_key: {
232
232
  key_serial_number: ::String
233
233
  }?,
234
- key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")?
234
+ key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC")?
235
235
  }
236
236
  ) -> _ExportKeyResponseSuccess
237
237
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ExportKeyResponseSuccess
@@ -260,14 +260,14 @@ module Aws
260
260
  include ::Seahorse::Client::_ResponseSuccess[Types::GetParametersForExportOutput]
261
261
  def signing_key_certificate: () -> ::String
262
262
  def signing_key_certificate_chain: () -> ::String
263
- def signing_key_algorithm: () -> ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
263
+ def signing_key_algorithm: () -> ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
264
264
  def export_token: () -> ::String
265
265
  def parameters_valid_until_timestamp: () -> ::Time
266
266
  end
267
267
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PaymentCryptography/Client.html#get_parameters_for_export-instance_method
268
268
  def get_parameters_for_export: (
269
269
  key_material_type: ("TR34_KEY_BLOCK" | "TR31_KEY_BLOCK" | "ROOT_PUBLIC_KEY_CERTIFICATE" | "TRUSTED_PUBLIC_KEY_CERTIFICATE" | "KEY_CRYPTOGRAM"),
270
- signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
270
+ signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
271
271
  ) -> _GetParametersForExportResponseSuccess
272
272
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetParametersForExportResponseSuccess
273
273
 
@@ -275,14 +275,14 @@ module Aws
275
275
  include ::Seahorse::Client::_ResponseSuccess[Types::GetParametersForImportOutput]
276
276
  def wrapping_key_certificate: () -> ::String
277
277
  def wrapping_key_certificate_chain: () -> ::String
278
- def wrapping_key_algorithm: () -> ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
278
+ def wrapping_key_algorithm: () -> ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
279
279
  def import_token: () -> ::String
280
280
  def parameters_valid_until_timestamp: () -> ::Time
281
281
  end
282
282
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PaymentCryptography/Client.html#get_parameters_for_import-instance_method
283
283
  def get_parameters_for_import: (
284
284
  key_material_type: ("TR34_KEY_BLOCK" | "TR31_KEY_BLOCK" | "ROOT_PUBLIC_KEY_CERTIFICATE" | "TRUSTED_PUBLIC_KEY_CERTIFICATE" | "KEY_CRYPTOGRAM"),
285
- wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
285
+ wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
286
286
  ) -> _GetParametersForImportResponseSuccess
287
287
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetParametersForImportResponseSuccess
288
288
 
@@ -308,7 +308,7 @@ module Aws
308
308
  key_attributes: {
309
309
  key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY"),
310
310
  key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY"),
311
- key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
311
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
312
312
  key_modes_of_use: {
313
313
  encrypt: bool?,
314
314
  decrypt: bool?,
@@ -327,7 +327,7 @@ module Aws
327
327
  key_attributes: {
328
328
  key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY"),
329
329
  key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY"),
330
- key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
330
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
331
331
  key_modes_of_use: {
332
332
  encrypt: bool?,
333
333
  decrypt: bool?,
@@ -359,7 +359,7 @@ module Aws
359
359
  key_attributes: {
360
360
  key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY"),
361
361
  key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY"),
362
- key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
362
+ key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521"),
363
363
  key_modes_of_use: {
364
364
  encrypt: bool?,
365
365
  decrypt: bool?,
@@ -381,7 +381,7 @@ module Aws
381
381
  private_key_identifier: ::String,
382
382
  certificate_authority_public_key_identifier: ::String,
383
383
  public_key_certificate: ::String,
384
- derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256"),
384
+ derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224"),
385
385
  key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
386
386
  key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
387
387
  derivation_data: {
@@ -390,7 +390,7 @@ module Aws
390
390
  wrapped_key_block: ::String
391
391
  }?
392
392
  },
393
- ?key_check_value_algorithm: ("CMAC" | "ANSI_X9_24"),
393
+ ?key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC"),
394
394
  ?enabled: bool,
395
395
  ?tags: Array[
396
396
  {
data/sig/types.rbs CHANGED
@@ -37,7 +37,7 @@ module Aws::PaymentCryptography
37
37
 
38
38
  class CreateKeyInput
39
39
  attr_accessor key_attributes: Types::KeyAttributes
40
- attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")
40
+ attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC")
41
41
  attr_accessor exportable: bool
42
42
  attr_accessor enabled: bool
43
43
  attr_accessor tags: ::Array[Types::Tag]
@@ -82,7 +82,7 @@ module Aws::PaymentCryptography
82
82
 
83
83
  class ExportAttributes
84
84
  attr_accessor export_dukpt_initial_key: Types::ExportDukptInitialKey
85
- attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")
85
+ attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC")
86
86
  SENSITIVE: []
87
87
  end
88
88
 
@@ -90,7 +90,7 @@ module Aws::PaymentCryptography
90
90
  attr_accessor private_key_identifier: ::String
91
91
  attr_accessor certificate_authority_public_key_identifier: ::String
92
92
  attr_accessor public_key_certificate: ::String
93
- attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256")
93
+ attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224")
94
94
  attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
95
95
  attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
96
96
  attr_accessor derivation_data: Types::DiffieHellmanDerivationData
@@ -180,14 +180,14 @@ module Aws::PaymentCryptography
180
180
 
181
181
  class GetParametersForExportInput
182
182
  attr_accessor key_material_type: ("TR34_KEY_BLOCK" | "TR31_KEY_BLOCK" | "ROOT_PUBLIC_KEY_CERTIFICATE" | "TRUSTED_PUBLIC_KEY_CERTIFICATE" | "KEY_CRYPTOGRAM")
183
- attr_accessor signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
183
+ attr_accessor signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
184
184
  SENSITIVE: []
185
185
  end
186
186
 
187
187
  class GetParametersForExportOutput
188
188
  attr_accessor signing_key_certificate: ::String
189
189
  attr_accessor signing_key_certificate_chain: ::String
190
- attr_accessor signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
190
+ attr_accessor signing_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
191
191
  attr_accessor export_token: ::String
192
192
  attr_accessor parameters_valid_until_timestamp: ::Time
193
193
  SENSITIVE: [:signing_key_certificate, :signing_key_certificate_chain]
@@ -195,14 +195,14 @@ module Aws::PaymentCryptography
195
195
 
196
196
  class GetParametersForImportInput
197
197
  attr_accessor key_material_type: ("TR34_KEY_BLOCK" | "TR31_KEY_BLOCK" | "ROOT_PUBLIC_KEY_CERTIFICATE" | "TRUSTED_PUBLIC_KEY_CERTIFICATE" | "KEY_CRYPTOGRAM")
198
- attr_accessor wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
198
+ attr_accessor wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
199
199
  SENSITIVE: []
200
200
  end
201
201
 
202
202
  class GetParametersForImportOutput
203
203
  attr_accessor wrapping_key_certificate: ::String
204
204
  attr_accessor wrapping_key_certificate_chain: ::String
205
- attr_accessor wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
205
+ attr_accessor wrapping_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
206
206
  attr_accessor import_token: ::String
207
207
  attr_accessor parameters_valid_until_timestamp: ::Time
208
208
  SENSITIVE: [:wrapping_key_certificate, :wrapping_key_certificate_chain]
@@ -223,7 +223,7 @@ module Aws::PaymentCryptography
223
223
  attr_accessor private_key_identifier: ::String
224
224
  attr_accessor certificate_authority_public_key_identifier: ::String
225
225
  attr_accessor public_key_certificate: ::String
226
- attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256")
226
+ attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224")
227
227
  attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
228
228
  attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
229
229
  attr_accessor derivation_data: Types::DiffieHellmanDerivationData
@@ -242,7 +242,7 @@ module Aws::PaymentCryptography
242
242
 
243
243
  class ImportKeyInput
244
244
  attr_accessor key_material: Types::ImportKeyMaterial
245
- attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")
245
+ attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC")
246
246
  attr_accessor enabled: bool
247
247
  attr_accessor tags: ::Array[Types::Tag]
248
248
  SENSITIVE: []
@@ -304,7 +304,7 @@ module Aws::PaymentCryptography
304
304
  attr_accessor key_arn: ::String
305
305
  attr_accessor key_attributes: Types::KeyAttributes
306
306
  attr_accessor key_check_value: ::String
307
- attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")
307
+ attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC")
308
308
  attr_accessor enabled: bool
309
309
  attr_accessor exportable: bool
310
310
  attr_accessor key_state: ("CREATE_IN_PROGRESS" | "CREATE_COMPLETE" | "DELETE_PENDING" | "DELETE_COMPLETE")
@@ -321,7 +321,7 @@ module Aws::PaymentCryptography
321
321
  class KeyAttributes
322
322
  attr_accessor key_usage: ("TR31_B0_BASE_DERIVATION_KEY" | "TR31_C0_CARD_VERIFICATION_KEY" | "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY" | "TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION" | "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS" | "TR31_E1_EMV_MKEY_CONFIDENTIALITY" | "TR31_E2_EMV_MKEY_INTEGRITY" | "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS" | "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION" | "TR31_E6_EMV_MKEY_OTHER" | "TR31_K0_KEY_ENCRYPTION_KEY" | "TR31_K1_KEY_BLOCK_PROTECTION_KEY" | "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT" | "TR31_M3_ISO_9797_3_MAC_KEY" | "TR31_M1_ISO_9797_1_MAC_KEY" | "TR31_M6_ISO_9797_5_CMAC_KEY" | "TR31_M7_HMAC_KEY" | "TR31_P0_PIN_ENCRYPTION_KEY" | "TR31_P1_PIN_GENERATION_KEY" | "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" | "TR31_V1_IBM3624_PIN_VERIFICATION_KEY" | "TR31_V2_VISA_PIN_VERIFICATION_KEY" | "TR31_K2_TR34_ASYMMETRIC_KEY")
323
323
  attr_accessor key_class: ("SYMMETRIC_KEY" | "ASYMMETRIC_KEY_PAIR" | "PRIVATE_KEY" | "PUBLIC_KEY")
324
- attr_accessor key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
324
+ attr_accessor key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521")
325
325
  attr_accessor key_modes_of_use: Types::KeyModesOfUse
326
326
  SENSITIVE: []
327
327
  end
@@ -504,7 +504,7 @@ module Aws::PaymentCryptography
504
504
  attr_accessor wrapped_key_material_format: ("KEY_CRYPTOGRAM" | "TR31_KEY_BLOCK" | "TR34_KEY_BLOCK")
505
505
  attr_accessor key_material: ::String
506
506
  attr_accessor key_check_value: ::String
507
- attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24")
507
+ attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC")
508
508
  SENSITIVE: [:key_material]
509
509
  end
510
510
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-paymentcryptography
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.34.0
4
+ version: 1.36.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -18,7 +18,7 @@ dependencies:
18
18
  version: '3'
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 3.216.0
21
+ version: 3.225.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '3'
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 3.216.0
31
+ version: 3.225.0
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: aws-sigv4
34
34
  requirement: !ruby/object:Gem::Requirement
@@ -84,7 +84,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - ">="
86
86
  - !ruby/object:Gem::Version
87
- version: '2.5'
87
+ version: '2.7'
88
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - ">="