aws-sdk-paymentcryptography 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.8.0'
2106
+ context[:gem_version] = '1.9.0'
2013
2107
  Seahorse::Client::Request.new(handlers, context)
2014
2108
  end
2015
2109