aws-sdk-paymentcryptography 1.7.0 → 1.9.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.
@@ -434,14 +434,14 @@ module Aws::PaymentCryptography
434
434
  # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_DecryptData.html
435
435
  #
436
436
  # @option params [required, String] :alias_name
437
- # A friendly name that you can use to refer a key. An alias must begin
438
- # with `alias/` followed by a name, for example `alias/ExampleAlias`. It
439
- # can contain only alphanumeric characters, forward slashes (/),
440
- # underscores (\_), and dashes (-).
437
+ # A friendly name that you can use to refer to a key. An alias must
438
+ # begin with `alias/` followed by a name, for example
439
+ # `alias/ExampleAlias`. It can contain only alphanumeric characters,
440
+ # forward slashes (/), underscores (\_), and dashes (-).
441
441
  #
442
- # Don't include confidential or sensitive information in this field.
443
- # This field may be displayed in plaintext in CloudTrail logs and other
444
- # output.
442
+ # Don't include personal, confidential or sensitive information in this
443
+ # field. This field may be displayed in plaintext in CloudTrail logs and
444
+ # other output.
445
445
  #
446
446
  # @option params [String] :key_arn
447
447
  # The `KeyARN` of the key to associate with the alias.
@@ -482,7 +482,7 @@ module Aws::PaymentCryptography
482
482
  # key state.
483
483
  #
484
484
  # When you create a key, you specify both immutable and mutable data
485
- # about the key. The immutable data contains key attributes that defines
485
+ # about the key. The immutable data contains key attributes that define
486
486
  # the scope and cryptographic operations that you can perform using the
487
487
  # key, for example key class (example: `SYMMETRIC_KEY`), key algorithm
488
488
  # (example: `TDES_2KEY`), key usage (example:
@@ -515,8 +515,8 @@ module Aws::PaymentCryptography
515
515
  #
516
516
  # @option params [Boolean] :enabled
517
517
  # Specifies whether to enable the key. If the key is enabled, it is
518
- # activated for use within the service. If the key not enabled, then it
519
- # is created but not activated. The default value is enabled.
518
+ # activated for use within the service. If the key is not enabled, then
519
+ # it is created but not activated. The default value is enabled.
520
520
  #
521
521
  # @option params [required, Boolean] :exportable
522
522
  # Specifies whether the key is exportable from the service.
@@ -528,27 +528,29 @@ module Aws::PaymentCryptography
528
528
  #
529
529
  # @option params [String] :key_check_value_algorithm
530
530
  # The algorithm that Amazon Web Services Payment Cryptography uses to
531
- # calculate the key check value (KCV) for DES and AES keys.
531
+ # calculate the key check value (KCV). It is used to validate the key
532
+ # integrity.
532
533
  #
533
- # For DES key, the KCV is computed by encrypting 8 bytes, each with
534
- # value '00', with the key to be checked and retaining the 3 highest
535
- # order bytes of the encrypted result. For AES key, the KCV is computed
536
- # by encrypting 8 bytes, each with value '01', with the key to be
537
- # checked and retaining the 3 highest order bytes of the encrypted
538
- # result.
534
+ # For TDES keys, the KCV is computed by encrypting 8 bytes, each with
535
+ # value of zero, with the key to be checked and retaining the 3 highest
536
+ # order bytes of the encrypted result. For AES keys, the KCV is computed
537
+ # using a CMAC algorithm where the input data is 16 bytes of zero and
538
+ # retaining the 3 highest order bytes of the encrypted result.
539
539
  #
540
540
  # @option params [Array<Types::Tag>] :tags
541
- # The tags to attach to the key. Each tag consists of a tag key and a
542
- # tag value. Both the tag key and the tag value are required, but the
543
- # tag value can be an empty (null) string. You can't have more than one
544
- # tag on an Amazon Web Services Payment Cryptography key with the same
545
- # tag key.
541
+ # Assigns one or more tags to the Amazon Web Services Payment
542
+ # Cryptography key. Use this parameter to tag a key when it is created.
543
+ # To tag an existing Amazon Web Services Payment Cryptography key, use
544
+ # the TagResource operation.
546
545
  #
547
- # To use this parameter, you must have `TagResource` permission.
546
+ # Each tag consists of a tag key and a tag value. Both the tag key and
547
+ # the tag value are required, but the tag value can be an empty (null)
548
+ # string. You can't have more than one tag on an Amazon Web Services
549
+ # Payment Cryptography key with the same tag key.
548
550
  #
549
- # Don't include confidential or sensitive information in this field.
550
- # This field may be displayed in plaintext in CloudTrail logs and other
551
- # output.
551
+ # Don't include personal, confidential or sensitive information in this
552
+ # field. This field may be displayed in plaintext in CloudTrail logs and
553
+ # other output.
552
554
  #
553
555
  # <note markdown="1"> Tagging or untagging an Amazon Web Services Payment Cryptography key
554
556
  # can allow or deny permission to the key.
@@ -668,7 +670,7 @@ module Aws::PaymentCryptography
668
670
  req.send_request(options)
669
671
  end
670
672
 
671
- # Deletes the key material and all metadata associated with Amazon Web
673
+ # Deletes the key material and metadata associated with Amazon Web
672
674
  # Services Payment Cryptography key.
673
675
  #
674
676
  # Key deletion is irreversible. After a key is deleted, you can't
@@ -679,13 +681,10 @@ module Aws::PaymentCryptography
679
681
  # Services Payment Cryptography has a safety mechanism to prevent
680
682
  # accidental deletion of a key. When you call this operation, Amazon Web
681
683
  # Services Payment Cryptography disables the specified key but doesn't
682
- # delete it until after a waiting period. The default waiting period is
683
- # 7 days. To set a different waiting period, set `DeleteKeyInDays`.
684
- # During the waiting period, the `KeyState` is `DELETE_PENDING`. After
685
- # the key is deleted, the `KeyState` is `DELETE_COMPLETE`.
686
- #
687
- # If you delete key material, you can use ImportKey to reimport the same
688
- # key material into the Amazon Web Services Payment Cryptography key.
684
+ # delete it until after a waiting period set using `DeleteKeyInDays`.
685
+ # The default waiting period is 7 days. During the waiting period, the
686
+ # `KeyState` is `DELETE_PENDING`. After the key is deleted, the
687
+ # `KeyState` is `DELETE_COMPLETE`.
689
688
  #
690
689
  # You should delete a key only when you are sure that you don't need to
691
690
  # use it anymore and no other parties are utilizing this key. If you
@@ -756,69 +755,116 @@ module Aws::PaymentCryptography
756
755
  req.send_request(options)
757
756
  end
758
757
 
759
- # Exports a key from Amazon Web Services Payment Cryptography using
760
- # either ANSI X9 TR-34 or TR-31 key export standard.
761
- #
762
- # Amazon Web Services Payment Cryptography simplifies main or root key
763
- # exchange process by eliminating the need of a paper-based key exchange
764
- # process. It takes a modern and secure approach based of the ANSI X9
765
- # TR-34 key exchange standard.
766
- #
767
- # You can use `ExportKey` to export main or root keys such as KEK (Key
768
- # Encryption Key), using asymmetric key exchange technique following
769
- # ANSI X9 TR-34 standard. The ANSI X9 TR-34 standard uses asymmetric
770
- # keys to establishes bi-directional trust between the two parties
771
- # exchanging keys. After which you can export working keys using the
772
- # ANSI X9 TR-31 symmetric key exchange standard as mandated by PCI PIN.
773
- # Using this operation, you can share your Amazon Web Services Payment
774
- # Cryptography generated keys with other service partners to perform
775
- # cryptographic operations outside of Amazon Web Services Payment
776
- # Cryptography
777
- #
778
- # **TR-34 key export**
779
- #
780
- # Amazon Web Services Payment Cryptography uses TR-34 asymmetric key
781
- # exchange standard to export main keys such as KEK. In TR-34
782
- # terminology, the sending party of the key is called Key Distribution
783
- # Host (KDH) and the receiving party of the key is called Key Receiving
784
- # Host (KRH). In key export process, KDH is Amazon Web Services Payment
785
- # Cryptography which initiates key export. KRH is the user receiving the
786
- # key. Before you initiate TR-34 key export, you must obtain an export
787
- # token by calling GetParametersForExport. This operation also returns
788
- # the signing key certificate that KDH uses to sign the wrapped key to
789
- # generate a TR-34 wrapped key block. The export token expires after 7
790
- # days.
758
+ # Exports a key from Amazon Web Services Payment Cryptography.
759
+ #
760
+ # Amazon Web Services Payment Cryptography simplifies key exchange by
761
+ # replacing the existing paper-based approach with a modern electronic
762
+ # approach. With `ExportKey` you can export symmetric keys using either
763
+ # symmetric and asymmetric key exchange mechanisms. Using this
764
+ # operation, you can share your Amazon Web Services Payment Cryptography
765
+ # generated keys with other service partners to perform cryptographic
766
+ # operations outside of Amazon Web Services Payment Cryptography
767
+ #
768
+ # For symmetric key exchange, Amazon Web Services Payment Cryptography
769
+ # uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And
770
+ # for asymmetric key exchange, Amazon Web Services Payment Cryptography
771
+ # supports ANSI X9 TR-34 norm . Asymmetric key exchange methods are
772
+ # typically used to establish bi-directional trust between the two
773
+ # parties exhanging keys and are used for initial key exchange such as
774
+ # Key Encryption Key (KEK). After which you can export working keys
775
+ # using symmetric method to perform various cryptographic operations
776
+ # within Amazon Web Services Payment Cryptography.
777
+ #
778
+ # The TR-34 norm is intended for exchanging 3DES keys only and keys are
779
+ # imported in a WrappedKeyBlock format. Key attributes (such as
780
+ # KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained
781
+ # within the key block.
782
+ #
783
+ # You can also use `ExportKey` functionality to generate and export an
784
+ # IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment
785
+ # Cryptography using either TR-31 or TR-34 export key exchange. IPEK is
786
+ # generated from BDK (Base Derivation Key) and `ExportDukptInitialKey`
787
+ # attribute KSN (`KeySerialNumber`). The generated IPEK does not persist
788
+ # within Amazon Web Services Payment Cryptography and has to be
789
+ # re-generated each time during export.
790
+ #
791
+ # **To export KEK or IPEK using TR-34**
792
+ #
793
+ # Using this operation, you can export initial key using TR-34
794
+ # asymmetric key exchange. You can only export KEK generated within
795
+ # Amazon Web Services Payment Cryptography. In TR-34 terminology, the
796
+ # sending party of the key is called Key Distribution Host (KDH) and the
797
+ # receiving party of the key is called Key Receiving Device (KRD).
798
+ # During key export process, KDH is Amazon Web Services Payment
799
+ # Cryptography which initiates key export and KRD is the user receiving
800
+ # the key.
801
+ #
802
+ # To initiate TR-34 key export, the KRD must obtain an export token by
803
+ # calling GetParametersForExport. This operation also generates a key
804
+ # pair for the purpose of key export, signs the key and returns back the
805
+ # signing public key certificate (also known as KDH signing certificate)
806
+ # and root certificate chain. The KDH uses the private key to sign the
807
+ # the export payload and the signing public key certificate is provided
808
+ # to KRD to verify the signature. The KRD can import the root
809
+ # certificate into its Hardware Security Module (HSM), as required. The
810
+ # export token and the associated KDH signing certificate expires after
811
+ # 7 days.
812
+ #
813
+ # Next the KRD generates a key pair for the the purpose of encrypting
814
+ # the KDH key and provides the public key cerificate (also known as KRD
815
+ # wrapping certificate) back to KDH. The KRD will also import the root
816
+ # cerificate chain into Amazon Web Services Payment Cryptography by
817
+ # calling ImportKey for `RootCertificatePublicKey`. The KDH, Amazon Web
818
+ # Services Payment Cryptography, will use the KRD wrapping cerificate to
819
+ # encrypt (wrap) the key under export and signs it with signing private
820
+ # key to generate a TR-34 WrappedKeyBlock. For more information on TR-34
821
+ # key export, see section [Exporting symmetric keys][1] in the *Amazon
822
+ # Web Services Payment Cryptography User Guide*.
791
823
  #
792
824
  # Set the following parameters:
793
825
  #
794
- # CertificateAuthorityPublicKeyIdentifier
826
+ # * `ExportAttributes`: Specify export attributes in case of IPEK
827
+ # export. This parameter is optional for KEK export.
795
828
  #
796
- # : The `KeyARN` of the certificate chain that will sign the wrapping
797
- # key certificate. This must exist within Amazon Web Services Payment
798
- # Cryptography before you initiate TR-34 key export. If it does not
799
- # exist, you can import it by calling ImportKey for
800
- # `RootCertificatePublicKey`.
829
+ # * `ExportKeyIdentifier`: The `KeyARN` of the KEK or BDK (in case of
830
+ # IPEK) under export.
801
831
  #
802
- # ExportToken
832
+ # * `KeyMaterial`: Use `Tr34KeyBlock` parameters.
803
833
  #
804
- # : Obtained from KDH by calling GetParametersForExport.
834
+ # * `CertificateAuthorityPublicKeyIdentifier`: The `KeyARN` of the
835
+ # certificate chain that signed the KRD wrapping key certificate.
805
836
  #
806
- # WrappingKeyCertificate
837
+ # * `ExportToken`: Obtained from KDH by calling GetParametersForImport.
807
838
  #
808
- # : Amazon Web Services Payment Cryptography uses this to wrap the key
809
- # under export.
839
+ # * `WrappingKeyCertificate`: The public key certificate in PEM format
840
+ # (base64 encoded) of the KRD wrapping key Amazon Web Services Payment
841
+ # Cryptography uses for encryption of the TR-34 export payload. This
842
+ # certificate must be signed by the root certificate
843
+ # (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web
844
+ # Services Payment Cryptography.
810
845
  #
811
846
  # When this operation is successful, Amazon Web Services Payment
812
- # Cryptography returns the TR-34 wrapped key block.
847
+ # Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.
813
848
  #
814
- # **TR-31 key export**
849
+ # **To export WK (Working Key) or IPEK using TR-31**
815
850
  #
816
- # Amazon Web Services Payment Cryptography uses TR-31 symmetric key
817
- # exchange standard to export working keys. In TR-31, you must use a
818
- # main key such as KEK to encrypt or wrap the key under export. To
819
- # establish a KEK, you can use CreateKey or ImportKey. When this
820
- # operation is successful, Amazon Web Services Payment Cryptography
821
- # returns a TR-31 wrapped key block.
851
+ # Using this operation, you can export working keys or IPEK using TR-31
852
+ # symmetric key exchange. In TR-31, you must use an initial key such as
853
+ # KEK to encrypt or wrap the key under export. To establish a KEK, you
854
+ # can use CreateKey or ImportKey.
855
+ #
856
+ # Set the following parameters:
857
+ #
858
+ # * `ExportAttributes`: Specify export attributes in case of IPEK
859
+ # export. This parameter is optional for KEK export.
860
+ #
861
+ # * `ExportKeyIdentifier`: The `KeyARN` of the KEK or BDK (in case of
862
+ # IPEK) under export.
863
+ #
864
+ # * `KeyMaterial`: Use `Tr31KeyBlock` parameters.
865
+ #
866
+ # When this operation is successful, Amazon Web Services Payment
867
+ # Cryptography returns the WK or IPEK as a TR-31 WrappedKeyBlock.
822
868
  #
823
869
  # **Cross-account use:** This operation can't be used across different
824
870
  # Amazon Web Services accounts.
@@ -829,6 +875,13 @@ module Aws::PaymentCryptography
829
875
  #
830
876
  # * ImportKey
831
877
  #
878
+ #
879
+ #
880
+ # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-export.html
881
+ #
882
+ # @option params [Types::ExportAttributes] :export_attributes
883
+ # The attributes for IPEK generation during export.
884
+ #
832
885
  # @option params [required, String] :export_key_identifier
833
886
  # The `KeyARN` of the key under export from Amazon Web Services Payment
834
887
  # Cryptography.
@@ -844,6 +897,12 @@ module Aws::PaymentCryptography
844
897
  # @example Request syntax with placeholder values
845
898
  #
846
899
  # resp = client.export_key({
900
+ # export_attributes: {
901
+ # export_dukpt_initial_key: {
902
+ # key_serial_number: "HexLength20Or24", # required
903
+ # },
904
+ # key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
905
+ # },
847
906
  # export_key_identifier: "KeyArnOrKeyAliasType", # required
848
907
  # key_material: { # required
849
908
  # tr_31_key_block: {
@@ -861,6 +920,8 @@ module Aws::PaymentCryptography
861
920
  #
862
921
  # @example Response structure
863
922
  #
923
+ # resp.wrapped_key.key_check_value #=> String
924
+ # resp.wrapped_key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
864
925
  # resp.wrapped_key.key_material #=> String
865
926
  # resp.wrapped_key.wrapped_key_material_format #=> String, one of "KEY_CRYPTOGRAM", "TR31_KEY_BLOCK", "TR34_KEY_BLOCK"
866
927
  # resp.wrapped_key.wrapping_key_arn #=> String
@@ -1008,8 +1069,7 @@ module Aws::PaymentCryptography
1008
1069
  # @option params [required, String] :signing_key_algorithm
1009
1070
  # The signing key algorithm to generate a signing key certificate. This
1010
1071
  # certificate signs the wrapped key under export within the TR-34 key
1011
- # block cryptogram. `RSA_2048` is the only signing key algorithm
1012
- # allowed.
1072
+ # block. `RSA_2048` is the only signing key algorithm allowed.
1013
1073
  #
1014
1074
  # @return [Types::GetParametersForExportOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1015
1075
  #
@@ -1043,14 +1103,14 @@ module Aws::PaymentCryptography
1043
1103
  req.send_request(options)
1044
1104
  end
1045
1105
 
1046
- # Gets the import token and the wrapping key certificate to initiate a
1047
- # TR-34 key import into Amazon Web Services Payment Cryptography.
1106
+ # Gets the import token and the wrapping key certificate in PEM format
1107
+ # (base64 encoded) to initiate a TR-34 WrappedKeyBlock.
1048
1108
  #
1049
- # The wrapping key certificate wraps the key under import within the
1050
- # TR-34 key payload. The import token and wrapping key certificate must
1051
- # be in place and operational before calling ImportKey. The import token
1052
- # expires in 7 days. The same import token can be used to import
1053
- # multiple keys into your service account.
1109
+ # The wrapping key certificate wraps the key under import. The import
1110
+ # token and wrapping key certificate must be in place and operational
1111
+ # before calling ImportKey. The import token expires in 7 days. You can
1112
+ # use the same import token to import multiple keys into your service
1113
+ # account.
1054
1114
  #
1055
1115
  # **Cross-account use:** This operation can't be used across different
1056
1116
  # Amazon Web Services accounts.
@@ -1062,14 +1122,18 @@ module Aws::PaymentCryptography
1062
1122
  # * ImportKey
1063
1123
  #
1064
1124
  # @option params [required, String] :key_material_type
1065
- # The key block format type such as TR-34 or TR-31 to use during key
1066
- # material import. Import token is only required for TR-34 key import
1067
- # `TR34_KEY_BLOCK`. Import token is not required for TR-31 key import.
1125
+ # The method to use for key material import. Import token is only
1126
+ # required for TR-34 WrappedKeyBlock (`TR34_KEY_BLOCK`).
1127
+ #
1128
+ # Import token is not required for TR-31, root public key cerificate or
1129
+ # trusted public key certificate.
1068
1130
  #
1069
1131
  # @option params [required, String] :wrapping_key_algorithm
1070
1132
  # The wrapping key algorithm to generate a wrapping key certificate.
1071
- # This certificate wraps the key under import within the TR-34 key block
1072
- # cryptogram. `RSA_2048` is the only wrapping key algorithm allowed.
1133
+ # This certificate wraps the key under import.
1134
+ #
1135
+ # At this time, `RSA_2048`, `RSA_3072`, `RSA_4096` are the only allowed
1136
+ # algorithms for TR-34 WrappedKeyBlock import.
1073
1137
  #
1074
1138
  # @return [Types::GetParametersForImportOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1075
1139
  #
@@ -1144,29 +1208,39 @@ module Aws::PaymentCryptography
1144
1208
  req.send_request(options)
1145
1209
  end
1146
1210
 
1147
- # Imports keys and public key certificates into Amazon Web Services
1148
- # Payment Cryptography.
1149
- #
1150
- # Amazon Web Services Payment Cryptography simplifies main or root key
1151
- # exchange process by eliminating the need of a paper-based key exchange
1152
- # process. It takes a modern and secure approach based of the ANSI X9
1153
- # TR-34 key exchange standard.
1154
- #
1155
- # You can use `ImportKey` to import main or root keys such as KEK (Key
1156
- # Encryption Key) using asymmetric key exchange technique following the
1157
- # ANSI X9 TR-34 standard. The ANSI X9 TR-34 standard uses asymmetric
1158
- # keys to establishes bi-directional trust between the two parties
1159
- # exchanging keys.
1160
- #
1161
- # After you have imported a main or root key, you can import working
1162
- # keys to perform various cryptographic operations within Amazon Web
1163
- # Services Payment Cryptography using the ANSI X9 TR-31 symmetric key
1164
- # exchange standard as mandated by PCI PIN.
1165
- #
1166
- # You can also import a *root public key certificate*, a self-signed
1167
- # certificate used to sign other public key certificates, or a *trusted
1168
- # public key certificate* under an already established root public key
1169
- # certificate.
1211
+ # Imports symmetric keys and public key certificates in PEM format
1212
+ # (base64 encoded) into Amazon Web Services Payment Cryptography.
1213
+ #
1214
+ # Amazon Web Services Payment Cryptography simplifies key exchange by
1215
+ # replacing the existing paper-based approach with a modern electronic
1216
+ # approach. With `ImportKey` you can import symmetric keys using either
1217
+ # symmetric and asymmetric key exchange mechanisms.
1218
+ #
1219
+ # For symmetric key exchange, Amazon Web Services Payment Cryptography
1220
+ # uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And
1221
+ # for asymmetric key exchange, Amazon Web Services Payment Cryptography
1222
+ # supports ANSI X9 TR-34 norm . Asymmetric key exchange methods are
1223
+ # typically used to establish bi-directional trust between the two
1224
+ # parties exhanging keys and are used for initial key exchange such as
1225
+ # Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can
1226
+ # import working keys using symmetric method to perform various
1227
+ # cryptographic operations within Amazon Web Services Payment
1228
+ # Cryptography.
1229
+ #
1230
+ # The TR-34 norm is intended for exchanging 3DES keys only and keys are
1231
+ # imported in a WrappedKeyBlock format. Key attributes (such as
1232
+ # KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained
1233
+ # within the key block.
1234
+ #
1235
+ # You can also import a *root public key certificate*, used to sign
1236
+ # other public key certificates, or a *trusted public key certificate*
1237
+ # under an already established root public key certificate.
1238
+ #
1239
+ # **To import a public root key certificate**
1240
+ #
1241
+ # You can also import a *root public key certificate*, used to sign
1242
+ # other public key certificates, or a *trusted public key certificate*
1243
+ # under an already established root public key certificate.
1170
1244
  #
1171
1245
  # **To import a public root key certificate**
1172
1246
  #
@@ -1186,8 +1260,8 @@ module Aws::PaymentCryptography
1186
1260
  #
1187
1261
  # * `KeyUsage`: `TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE`
1188
1262
  #
1189
- # * `PublicKeyCertificate`: The certificate authority used to sign the
1190
- # root public key certificate.
1263
+ # * `PublicKeyCertificate`: The public key certificate in PEM format
1264
+ # (base64 encoded) of the private root key under import.
1191
1265
  #
1192
1266
  # **To import a trusted public key certificate**
1193
1267
  #
@@ -1204,59 +1278,69 @@ module Aws::PaymentCryptography
1204
1278
  # operations such as wrap, sign, or encrypt that you will allow the
1205
1279
  # trusted public key certificate to perform.
1206
1280
  #
1207
- # * `PublicKeyCertificate`: The certificate authority used to sign the
1208
- # trusted public key certificate.
1209
- #
1210
- # **Import main keys**
1211
- #
1212
- # Amazon Web Services Payment Cryptography uses TR-34 asymmetric key
1213
- # exchange standard to import main keys such as KEK. In TR-34
1214
- # terminology, the sending party of the key is called Key Distribution
1215
- # Host (KDH) and the receiving party of the key is called Key Receiving
1216
- # Host (KRH). During the key import process, KDH is the user who
1217
- # initiates the key import and KRH is Amazon Web Services Payment
1218
- # Cryptography who receives the key. Before initiating TR-34 key import,
1219
- # you must obtain an import token by calling GetParametersForImport.
1220
- # This operation also returns the wrapping key certificate that KDH uses
1221
- # wrap key under import to generate a TR-34 wrapped key block. The
1222
- # import token expires after 7 days.
1281
+ # * `PublicKeyCertificate`: The trusted public key certificate in PEM
1282
+ # format (base64 encoded) under import.
1283
+ #
1284
+ # **To import KEK or ZMK using TR-34**
1285
+ #
1286
+ # Using this operation, you can import initial key using TR-34
1287
+ # asymmetric key exchange. In TR-34 terminology, the sending party of
1288
+ # the key is called Key Distribution Host (KDH) and the receiving party
1289
+ # of the key is called Key Receiving Device (KRD). During the key import
1290
+ # process, KDH is the user who initiates the key import and KRD is
1291
+ # Amazon Web Services Payment Cryptography who receives the key.
1292
+ #
1293
+ # To initiate TR-34 key import, the KDH must obtain an import token by
1294
+ # calling GetParametersForImport. This operation generates an encryption
1295
+ # keypair for the purpose of key import, signs the key and returns back
1296
+ # the wrapping key certificate (also known as KRD wrapping certificate)
1297
+ # and the root certificate chain. The KDH must trust and install the KRD
1298
+ # wrapping certificate on its HSM and use it to encrypt (wrap) the KDH
1299
+ # key during TR-34 WrappedKeyBlock generation. The import token and
1300
+ # associated KRD wrapping certificate expires after 7 days.
1301
+ #
1302
+ # Next the KDH generates a key pair for the purpose of signing the
1303
+ # encrypted KDH key and provides the public certificate of the signing
1304
+ # key to Amazon Web Services Payment Cryptography. The KDH will also
1305
+ # need to import the root certificate chain of the KDH signing
1306
+ # certificate by calling `ImportKey` for `RootCertificatePublicKey`. For
1307
+ # more information on TR-34 key import, see section [Importing symmetric
1308
+ # keys][1] in the *Amazon Web Services Payment Cryptography User Guide*.
1223
1309
  #
1224
1310
  # Set the following parameters:
1225
1311
  #
1226
- # * `CertificateAuthorityPublicKeyIdentifier`: The `KeyArn` of the
1227
- # certificate chain that will sign the signing key certificate and
1228
- # should exist within Amazon Web Services Payment Cryptography before
1229
- # initiating TR-34 key import. If it does not exist, you can import it
1230
- # by calling by calling `ImportKey` for `RootCertificatePublicKey`.
1231
- #
1232
- # * `ImportToken`: Obtained from KRH by calling GetParametersForImport.
1312
+ # * `KeyMaterial`: Use `Tr34KeyBlock` parameters.
1233
1313
  #
1234
- # * `WrappedKeyBlock`: The TR-34 wrapped key block from KDH. It contains
1235
- # the KDH key under import, wrapped with KRH provided wrapping key
1236
- # certificate and signed by the KDH private signing key. This TR-34
1237
- # key block is generated by the KDH Hardware Security Module (HSM)
1238
- # outside of Amazon Web Services Payment Cryptography.
1314
+ # * `CertificateAuthorityPublicKeyIdentifier`: The `KeyARN` of the
1315
+ # certificate chain that signed the KDH signing key certificate.
1239
1316
  #
1240
- # * `SigningKeyCertificate`: The public component of the private key
1241
- # that signed the KDH TR-34 wrapped key block. In PEM certificate
1242
- # format.
1317
+ # * `ImportToken`: Obtained from KRD by calling GetParametersForImport.
1243
1318
  #
1244
- # <note markdown="1"> TR-34 is intended primarily to exchange 3DES keys. Your ability to
1245
- # export AES-128 and larger AES keys may be dependent on your source
1246
- # system.
1319
+ # * `WrappedKeyBlock`: The TR-34 wrapped key material from KDH. It
1320
+ # contains the KDH key under import, wrapped with KRD wrapping
1321
+ # certificate and signed by KDH signing private key. This TR-34 key
1322
+ # block is typically generated by the KDH Hardware Security Module
1323
+ # (HSM) outside of Amazon Web Services Payment Cryptography.
1247
1324
  #
1248
- # </note>
1325
+ # * `SigningKeyCertificate`: The public key certificate in PEM format
1326
+ # (base64 encoded) of the KDH signing key generated under the root
1327
+ # certificate (CertificateAuthorityPublicKeyIdentifier) imported in
1328
+ # Amazon Web Services Payment Cryptography.
1249
1329
  #
1250
- # **Import working keys**
1330
+ # **To import WK (Working Key) using TR-31**
1251
1331
  #
1252
1332
  # Amazon Web Services Payment Cryptography uses TR-31 symmetric key
1253
- # exchange standard to import working keys. A KEK must be established
1254
- # within Amazon Web Services Payment Cryptography by using TR-34 key
1255
- # import. To initiate a TR-31 key import, set the following parameters:
1333
+ # exchange norm to import working keys. A KEK must be established within
1334
+ # Amazon Web Services Payment Cryptography by using TR-34 key import or
1335
+ # by using CreateKey. To initiate a TR-31 key import, set the following
1336
+ # parameters:
1256
1337
  #
1257
- # * `WrappedKeyBlock`: The key under import and encrypted using KEK. The
1258
- # TR-31 key block generated by your HSM outside of Amazon Web Services
1259
- # Payment Cryptography.
1338
+ # * `KeyMaterial`: Use `Tr31KeyBlock` parameters.
1339
+ #
1340
+ # * `WrappedKeyBlock`: The TR-31 wrapped key material. It contains the
1341
+ # key under import, encrypted using KEK. The TR-31 key block is
1342
+ # typically generated by a HSM outside of Amazon Web Services Payment
1343
+ # Cryptography.
1260
1344
  #
1261
1345
  # * `WrappingKeyIdentifier`: The `KeyArn` of the KEK that Amazon Web
1262
1346
  # Services Payment Cryptography uses to decrypt or unwrap the key
@@ -1271,41 +1355,45 @@ module Aws::PaymentCryptography
1271
1355
  #
1272
1356
  # * GetParametersForImport
1273
1357
  #
1358
+ #
1359
+ #
1360
+ # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-import.html
1361
+ #
1274
1362
  # @option params [Boolean] :enabled
1275
1363
  # Specifies whether import key is enabled.
1276
1364
  #
1277
1365
  # @option params [String] :key_check_value_algorithm
1278
1366
  # The algorithm that Amazon Web Services Payment Cryptography uses to
1279
- # calculate the key check value (KCV) for DES and AES keys.
1367
+ # calculate the key check value (KCV). It is used to validate the key
1368
+ # integrity.
1280
1369
  #
1281
- # For DES key, the KCV is computed by encrypting 8 bytes, each with
1282
- # value '00', with the key to be checked and retaining the 3 highest
1283
- # order bytes of the encrypted result. For AES key, the KCV is computed
1284
- # by encrypting 8 bytes, each with value '01', with the key to be
1285
- # checked and retaining the 3 highest order bytes of the encrypted
1286
- # result.
1370
+ # For TDES keys, the KCV is computed by encrypting 8 bytes, each with
1371
+ # value of zero, with the key to be checked and retaining the 3 highest
1372
+ # order bytes of the encrypted result. For AES keys, the KCV is computed
1373
+ # using a CMAC algorithm where the input data is 16 bytes of zero and
1374
+ # retaining the 3 highest order bytes of the encrypted result.
1287
1375
  #
1288
1376
  # @option params [required, Types::ImportKeyMaterial] :key_material
1289
1377
  # The key or public key certificate type to use during key material
1290
1378
  # import, for example TR-34 or RootCertificatePublicKey.
1291
1379
  #
1292
1380
  # @option params [Array<Types::Tag>] :tags
1293
- # The tags to attach to the key. Each tag consists of a tag key and a
1294
- # tag value. Both the tag key and the tag value are required, but the
1295
- # tag value can be an empty (null) string. You can't have more than one
1296
- # tag on an Amazon Web Services Payment Cryptography key with the same
1297
- # tag key.
1298
- #
1299
- # You can't have more than one tag on an Amazon Web Services Payment
1300
- # Cryptography key with the same tag key. If you specify an existing tag
1301
- # key with a different tag value, Amazon Web Services Payment
1302
- # Cryptography replaces the current tag value with the specified one.
1303
- #
1304
- # To use this parameter, you must have `TagResource` permission.
1305
- #
1306
- # Don't include confidential or sensitive information in this field.
1307
- # This field may be displayed in plaintext in CloudTrail logs and other
1308
- # output.
1381
+ # Assigns one or more tags to the Amazon Web Services Payment
1382
+ # Cryptography key. Use this parameter to tag a key when it is imported.
1383
+ # To tag an existing Amazon Web Services Payment Cryptography key, use
1384
+ # the TagResource operation.
1385
+ #
1386
+ # Each tag consists of a tag key and a tag value. Both the tag key and
1387
+ # the tag value are required, but the tag value can be an empty (null)
1388
+ # string. You can't have more than one tag on an Amazon Web Services
1389
+ # Payment Cryptography key with the same tag key. If you specify an
1390
+ # existing tag key with a different tag value, Amazon Web Services
1391
+ # Payment Cryptography replaces the current tag value with the specified
1392
+ # one.
1393
+ #
1394
+ # Don't include personal, confidential or sensitive information in this
1395
+ # field. This field may be displayed in plaintext in CloudTrail logs and
1396
+ # other output.
1309
1397
  #
1310
1398
  # <note markdown="1"> Tagging or untagging an Amazon Web Services Payment Cryptography key
1311
1399
  # can allow or deny permission to the key.
@@ -1521,6 +1609,9 @@ module Aws::PaymentCryptography
1521
1609
  # does not return more than the specified number of items, but it might
1522
1610
  # return fewer.
1523
1611
  #
1612
+ # This value is optional. If you include a value, it must be between 1
1613
+ # and 100, inclusive. If you do not include a value, it defaults to 50.
1614
+ #
1524
1615
  # @option params [String] :next_token
1525
1616
  # Use this parameter in a subsequent request after you receive a
1526
1617
  # response with truncated results. Set it to the value of `NextToken`
@@ -1596,6 +1687,9 @@ module Aws::PaymentCryptography
1596
1687
  # does not return more than the specified number of items, but it might
1597
1688
  # return fewer.
1598
1689
  #
1690
+ # This value is optional. If you include a value, it must be between 1
1691
+ # and 100, inclusive. If you do not include a value, it defaults to 50.
1692
+ #
1599
1693
  # @option params [String] :next_token
1600
1694
  # Use this parameter in a subsequent request after you receive a
1601
1695
  # response with truncated results. Set it to the value of `NextToken`
@@ -1865,16 +1959,16 @@ module Aws::PaymentCryptography
1865
1959
  # value, Amazon Web Services Payment Cryptography replaces the current
1866
1960
  # tag value with the new one.
1867
1961
  #
1868
- # Don't include confidential or sensitive information in this field.
1869
- # This field may be displayed in plaintext in CloudTrail logs and other
1870
- # output.
1962
+ # Don't include personal, confidential or sensitive information in this
1963
+ # field. This field may be displayed in plaintext in CloudTrail logs and
1964
+ # other output.
1871
1965
  #
1872
1966
  # To use this parameter, you must have TagResource permission in an IAM
1873
1967
  # policy.
1874
1968
  #
1875
- # Don't include confidential or sensitive information in this field.
1876
- # This field may be displayed in plaintext in CloudTrail logs and other
1877
- # output.
1969
+ # Don't include personal, confidential or sensitive information in this
1970
+ # field. This field may be displayed in plaintext in CloudTrail logs and
1971
+ # other output.
1878
1972
  #
1879
1973
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1880
1974
  #
@@ -2009,7 +2103,7 @@ module Aws::PaymentCryptography
2009
2103
  params: params,
2010
2104
  config: config)
2011
2105
  context[:gem_name] = 'aws-sdk-paymentcryptography'
2012
- context[:gem_version] = '1.7.0'
2106
+ context[:gem_version] = '1.9.0'
2013
2107
  Seahorse::Client::Request.new(handlers, context)
2014
2108
  end
2015
2109