aws-sdk-paymentcryptography 1.35.0 → 1.37.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 +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-paymentcryptography/client.rb +212 -111
- data/lib/aws-sdk-paymentcryptography/types.rb +50 -43
- data/lib/aws-sdk-paymentcryptography.rb +1 -1
- data/sig/client.rbs +14 -13
- data/sig/resource.rbs +1 -0
- data/sig/types.rbs +12 -12
- metadata +3 -3
@@ -95,7 +95,7 @@ module Aws::PaymentCryptography
|
|
95
95
|
# class name or an instance of a plugin class.
|
96
96
|
#
|
97
97
|
# @option options [required, Aws::CredentialProvider] :credentials
|
98
|
-
# Your AWS credentials. This can be an instance of any one of the
|
98
|
+
# Your AWS credentials used for authentication. This can be an instance of any one of the
|
99
99
|
# following classes:
|
100
100
|
#
|
101
101
|
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
@@ -128,18 +128,23 @@ module Aws::PaymentCryptography
|
|
128
128
|
# locations will be searched for credentials:
|
129
129
|
#
|
130
130
|
# * `Aws.config[:credentials]`
|
131
|
+
#
|
131
132
|
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
132
133
|
# `:account_id` options.
|
133
|
-
#
|
134
|
-
#
|
134
|
+
#
|
135
|
+
# * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
136
|
+
# `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
137
|
+
#
|
135
138
|
# * `~/.aws/credentials`
|
139
|
+
#
|
136
140
|
# * `~/.aws/config`
|
141
|
+
#
|
137
142
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
138
143
|
# are very aggressive. Construct and pass an instance of
|
139
144
|
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
140
145
|
# enable retries and extended timeouts. Instance profile credential
|
141
|
-
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
142
|
-
# to true
|
146
|
+
# fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
|
147
|
+
# to `true`.
|
143
148
|
#
|
144
149
|
# @option options [required, String] :region
|
145
150
|
# The AWS region to connect to. The configured `:region` is
|
@@ -167,6 +172,11 @@ module Aws::PaymentCryptography
|
|
167
172
|
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
168
173
|
# not retry instead of sleeping.
|
169
174
|
#
|
175
|
+
# @option options [Array<String>] :auth_scheme_preference
|
176
|
+
# A list of preferred authentication schemes to use when making a request. Supported values are:
|
177
|
+
# `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
|
178
|
+
# shared config as `auth_scheme_preference`, the value should be a comma-separated list.
|
179
|
+
#
|
170
180
|
# @option options [Boolean] :client_side_monitoring (false)
|
171
181
|
# When `true`, client-side metrics will be collected for all API requests from
|
172
182
|
# this client.
|
@@ -253,8 +263,8 @@ module Aws::PaymentCryptography
|
|
253
263
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
254
264
|
#
|
255
265
|
# @option options [String] :profile ("default")
|
256
|
-
# Used when loading credentials from the shared credentials file
|
257
|
-
#
|
266
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
267
|
+
# When not specified, 'default' is used.
|
258
268
|
#
|
259
269
|
# @option options [String] :request_checksum_calculation ("when_supported")
|
260
270
|
# Determines when a checksum will be calculated for request payloads. Values are:
|
@@ -374,7 +384,7 @@ module Aws::PaymentCryptography
|
|
374
384
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
375
385
|
#
|
376
386
|
# @option options [Aws::TokenProvider] :token_provider
|
377
|
-
#
|
387
|
+
# Your Bearer token used for authentication. This can be an instance of any one of the
|
378
388
|
# following classes:
|
379
389
|
#
|
380
390
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
@@ -569,16 +579,33 @@ module Aws::PaymentCryptography
|
|
569
579
|
# key, for example key class (example: `SYMMETRIC_KEY`), key algorithm
|
570
580
|
# (example: `TDES_2KEY`), key usage (example:
|
571
581
|
# `TR31_P0_PIN_ENCRYPTION_KEY`) and key modes of use (example:
|
572
|
-
# `Encrypt`).
|
573
|
-
# attributes
|
574
|
-
# Services Payment Cryptography
|
575
|
-
#
|
576
|
-
#
|
577
|
-
#
|
578
|
-
#
|
579
|
-
#
|
580
|
-
#
|
581
|
-
#
|
582
|
+
# `Encrypt`). Amazon Web Services Payment Cryptography binds key
|
583
|
+
# attributes to keys using key blocks when you store or export them.
|
584
|
+
# Amazon Web Services Payment Cryptography stores the key contents
|
585
|
+
# wrapped and never stores or transmits them in the clear.
|
586
|
+
#
|
587
|
+
# For information about valid combinations of key attributes, see
|
588
|
+
# [Understanding key attributes][1] in the *Amazon Web Services Payment
|
589
|
+
# Cryptography User Guide*. The mutable data contained within a key
|
590
|
+
# includes usage timestamp and key deletion timestamp and can be
|
591
|
+
# modified after creation.
|
592
|
+
#
|
593
|
+
# You can use the `CreateKey` operation to generate an ECC (Elliptic
|
594
|
+
# Curve Cryptography) key pair used for establishing an ECDH (Elliptic
|
595
|
+
# Curve Diffie-Hellman) key agreement between two parties. In the ECDH
|
596
|
+
# key agreement process, both parties generate their own ECC key pair
|
597
|
+
# with key usage K3 and exchange the public keys. Each party then use
|
598
|
+
# their private key, the received public key from the other party, and
|
599
|
+
# the key derivation parameters including key derivation function, hash
|
600
|
+
# algorithm, derivation data, and key algorithm to derive a shared key.
|
601
|
+
#
|
602
|
+
# To maintain the single-use principle of cryptographic keys in
|
603
|
+
# payments, ECDH derived keys should not be used for multiple purposes,
|
604
|
+
# such as a `TR31_P0_PIN_ENCRYPTION_KEY` and
|
605
|
+
# `TR31_K1_KEY_BLOCK_PROTECTION_KEY`. When creating ECC key pairs in
|
606
|
+
# Amazon Web Services Payment Cryptography you can optionally set the
|
607
|
+
# `DeriveKeyUsage` parameter, which defines the key usage bound to the
|
608
|
+
# symmetric key that will be derived using the ECC key pair.
|
582
609
|
#
|
583
610
|
# **Cross-account use**: This operation can't be used across different
|
584
611
|
# Amazon Web Services accounts.
|
@@ -647,8 +674,11 @@ module Aws::PaymentCryptography
|
|
647
674
|
# [1]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html
|
648
675
|
#
|
649
676
|
# @option params [String] :derive_key_usage
|
650
|
-
# The cryptographic usage of
|
651
|
-
#
|
677
|
+
# The intended cryptographic usage of keys derived from the ECC key pair
|
678
|
+
# to be created.
|
679
|
+
#
|
680
|
+
# After creating an ECC key pair, you cannot change the intended
|
681
|
+
# cryptographic usage of keys derived from it using ECDH.
|
652
682
|
#
|
653
683
|
# @return [Types::CreateKeyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
654
684
|
#
|
@@ -660,7 +690,7 @@ module Aws::PaymentCryptography
|
|
660
690
|
# key_attributes: { # required
|
661
691
|
# 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
692
|
# 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
|
693
|
+
# 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
694
|
# key_modes_of_use: { # required
|
665
695
|
# encrypt: false,
|
666
696
|
# decrypt: false,
|
@@ -673,7 +703,7 @@ module Aws::PaymentCryptography
|
|
673
703
|
# no_restrictions: false,
|
674
704
|
# },
|
675
705
|
# },
|
676
|
-
# key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
|
706
|
+
# key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC
|
677
707
|
# exportable: false, # required
|
678
708
|
# enabled: false,
|
679
709
|
# tags: [
|
@@ -690,7 +720,7 @@ module Aws::PaymentCryptography
|
|
690
720
|
# resp.key.key_arn #=> String
|
691
721
|
# 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
722
|
# 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"
|
723
|
+
# 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
724
|
# resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
|
695
725
|
# resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
|
696
726
|
# resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
|
@@ -701,7 +731,7 @@ module Aws::PaymentCryptography
|
|
701
731
|
# resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
|
702
732
|
# resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
|
703
733
|
# resp.key.key_check_value #=> String
|
704
|
-
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
|
734
|
+
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
|
705
735
|
# resp.key.enabled #=> Boolean
|
706
736
|
# resp.key.exportable #=> Boolean
|
707
737
|
# resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
|
@@ -833,7 +863,7 @@ module Aws::PaymentCryptography
|
|
833
863
|
# resp.key.key_arn #=> String
|
834
864
|
# 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
865
|
# 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"
|
866
|
+
# 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
867
|
# resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
|
838
868
|
# resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
|
839
869
|
# resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
|
@@ -844,7 +874,7 @@ module Aws::PaymentCryptography
|
|
844
874
|
# resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
|
845
875
|
# resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
|
846
876
|
# resp.key.key_check_value #=> String
|
847
|
-
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
|
877
|
+
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
|
848
878
|
# resp.key.enabled #=> Boolean
|
849
879
|
# resp.key.exportable #=> Boolean
|
850
880
|
# resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
|
@@ -878,20 +908,21 @@ module Aws::PaymentCryptography
|
|
878
908
|
# For symmetric key exchange, Amazon Web Services Payment Cryptography
|
879
909
|
# uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And
|
880
910
|
# for asymmetric key exchange, Amazon Web Services Payment Cryptography
|
881
|
-
# supports ANSI X9 TR-34 norm
|
882
|
-
#
|
883
|
-
# establish bi-directional trust between
|
884
|
-
# and are used for initial key exchange
|
885
|
-
# (KEK). After which you can export working
|
886
|
-
# to perform various cryptographic
|
887
|
-
# Payment Cryptography.
|
888
|
-
#
|
889
|
-
#
|
890
|
-
#
|
891
|
-
#
|
892
|
-
#
|
893
|
-
#
|
894
|
-
#
|
911
|
+
# supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve
|
912
|
+
# Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange
|
913
|
+
# methods are typically used to establish bi-directional trust between
|
914
|
+
# the two parties exhanging keys and are used for initial key exchange
|
915
|
+
# such as Key Encryption Key (KEK). After which you can export working
|
916
|
+
# keys using symmetric method to perform various cryptographic
|
917
|
+
# operations within Amazon Web Services Payment Cryptography.
|
918
|
+
#
|
919
|
+
# PCI requires specific minimum key strength of wrapping keys used to
|
920
|
+
# protect the keys being exchanged electronically. These requirements
|
921
|
+
# can change when PCI standards are revised. The rules specify that
|
922
|
+
# wrapping keys used for transport must be at least as strong as the key
|
923
|
+
# being protected. For more information on recommended key strength of
|
924
|
+
# wrapping keys and key exchange mechanism, see [Importing and exporting
|
925
|
+
# keys][1] in the *Amazon Web Services Payment Cryptography User Guide*.
|
895
926
|
#
|
896
927
|
# You can also use `ExportKey` functionality to generate and export an
|
897
928
|
# IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment
|
@@ -911,7 +942,7 @@ module Aws::PaymentCryptography
|
|
911
942
|
#
|
912
943
|
# The `OptionalBlocks` contain the additional data related to the key.
|
913
944
|
# For information on data type that can be included within optional
|
914
|
-
# blocks, refer to [ASC X9.143-2022][
|
945
|
+
# blocks, refer to [ASC X9.143-2022][2].
|
915
946
|
#
|
916
947
|
# <note markdown="1"> Data included in key block headers is signed but transmitted in clear
|
917
948
|
# text. Sensitive or confidential information should not be included in
|
@@ -932,7 +963,7 @@ module Aws::PaymentCryptography
|
|
932
963
|
# the key.
|
933
964
|
#
|
934
965
|
# To initiate TR-34 key export, the KRD must obtain an export token by
|
935
|
-
# calling [GetParametersForExport][
|
966
|
+
# calling [GetParametersForExport][3]. This operation also generates a
|
936
967
|
# key pair for the purpose of key export, signs the key and returns back
|
937
968
|
# the signing public key certificate (also known as KDH signing
|
938
969
|
# certificate) and root certificate chain. The KDH uses the private key
|
@@ -940,18 +971,18 @@ module Aws::PaymentCryptography
|
|
940
971
|
# is provided to KRD to verify the signature. The KRD can import the
|
941
972
|
# root certificate into its Hardware Security Module (HSM), as required.
|
942
973
|
# The export token and the associated KDH signing certificate expires
|
943
|
-
# after
|
974
|
+
# after 30 days.
|
944
975
|
#
|
945
976
|
# Next the KRD generates a key pair for the the purpose of encrypting
|
946
977
|
# the KDH key and provides the public key cerificate (also known as KRD
|
947
978
|
# wrapping certificate) back to KDH. The KRD will also import the root
|
948
979
|
# cerificate chain into Amazon Web Services Payment Cryptography by
|
949
|
-
# calling [ImportKey][
|
980
|
+
# calling [ImportKey][4] for `RootCertificatePublicKey`. The KDH, Amazon
|
950
981
|
# Web Services Payment Cryptography, will use the KRD wrapping
|
951
982
|
# cerificate to encrypt (wrap) the key under export and signs it with
|
952
983
|
# signing private key to generate a TR-34 WrappedKeyBlock. For more
|
953
984
|
# information on TR-34 key export, see section [Exporting symmetric
|
954
|
-
# keys][
|
985
|
+
# keys][5] in the *Amazon Web Services Payment Cryptography User Guide*.
|
955
986
|
#
|
956
987
|
# Set the following parameters:
|
957
988
|
#
|
@@ -967,7 +998,7 @@ module Aws::PaymentCryptography
|
|
967
998
|
# certificate chain that signed the KRD wrapping key certificate.
|
968
999
|
#
|
969
1000
|
# * `ExportToken`: Obtained from KDH by calling
|
970
|
-
# [GetParametersForImport][
|
1001
|
+
# [GetParametersForImport][6].
|
971
1002
|
#
|
972
1003
|
# * `WrappingKeyCertificate`: The public key certificate in PEM format
|
973
1004
|
# (base64 encoded) of the KRD wrapping key Amazon Web Services Payment
|
@@ -986,7 +1017,7 @@ module Aws::PaymentCryptography
|
|
986
1017
|
# asymmetric key pair on the receiving HSM and obtain the public key
|
987
1018
|
# certificate in PEM format (base64 encoded) for the purpose of wrapping
|
988
1019
|
# and the root certifiate chain. Import the root certificate into Amazon
|
989
|
-
# Web Services Payment Cryptography by calling [ImportKey][
|
1020
|
+
# Web Services Payment Cryptography by calling [ImportKey][4] for
|
990
1021
|
# `RootCertificatePublicKey`.
|
991
1022
|
#
|
992
1023
|
# Next call `ExportKey` and set the following parameters:
|
@@ -1010,7 +1041,7 @@ module Aws::PaymentCryptography
|
|
1010
1041
|
# Using this operation, you can export working keys or IPEK using TR-31
|
1011
1042
|
# symmetric key exchange. In TR-31, you must use an initial key such as
|
1012
1043
|
# KEK to encrypt or wrap the key under export. To establish a KEK, you
|
1013
|
-
# can use [CreateKey][
|
1044
|
+
# can use [CreateKey][7] or [ImportKey][4].
|
1014
1045
|
#
|
1015
1046
|
# Set the following parameters:
|
1016
1047
|
#
|
@@ -1022,27 +1053,59 @@ module Aws::PaymentCryptography
|
|
1022
1053
|
#
|
1023
1054
|
# * `KeyMaterial`: Use `Tr31KeyBlock` parameters.
|
1024
1055
|
#
|
1056
|
+
# **To export working keys using ECDH**
|
1057
|
+
#
|
1058
|
+
# You can also use ECDH key agreement to export working keys in a TR-31
|
1059
|
+
# keyblock, where the wrapping key is an ECDH derived key.
|
1060
|
+
#
|
1061
|
+
# To initiate a TR-31 key export using ECDH, both sides must create an
|
1062
|
+
# ECC key pair with key usage K3 and exchange public key certificates.
|
1063
|
+
# In Amazon Web Services Payment Cryptography, you can do this by
|
1064
|
+
# calling `CreateKey`. If you have not already done so, you must import
|
1065
|
+
# the CA chain that issued the receiving public key certificate by
|
1066
|
+
# calling `ImportKey` with input `RootCertificatePublicKey` for root CA
|
1067
|
+
# or `TrustedPublicKey` for intermediate CA. You can then complete a
|
1068
|
+
# TR-31 key export by deriving a shared wrapping key using the service
|
1069
|
+
# ECC key pair, public certificate of your ECC key pair outside of
|
1070
|
+
# Amazon Web Services Payment Cryptography, and the key derivation
|
1071
|
+
# parameters including key derivation function, hash algorithm,
|
1072
|
+
# derivation data, key algorithm.
|
1073
|
+
#
|
1074
|
+
# * `KeyMaterial`: Use `DiffieHellmanTr31KeyBlock` parameters.
|
1075
|
+
#
|
1076
|
+
# * `PrivateKeyIdentifier`: The `KeyArn` of the ECC key pair created
|
1077
|
+
# within Amazon Web Services Payment Cryptography to derive a shared
|
1078
|
+
# KEK.
|
1079
|
+
#
|
1080
|
+
# * `PublicKeyCertificate`: The public key certificate of the receiving
|
1081
|
+
# ECC key pair in PEM format (base64 encoded) to derive a shared KEK.
|
1082
|
+
#
|
1083
|
+
# * `CertificateAuthorityPublicKeyIdentifier`: The `keyARN` of the CA
|
1084
|
+
# that signed the public key certificate of the receiving ECC key
|
1085
|
+
# pair.
|
1086
|
+
#
|
1025
1087
|
# When this operation is successful, Amazon Web Services Payment
|
1026
|
-
# Cryptography returns the working key
|
1027
|
-
#
|
1088
|
+
# Cryptography returns the working key as a TR-31 WrappedKeyBlock, where
|
1089
|
+
# the wrapping key is the ECDH derived key.
|
1028
1090
|
#
|
1029
1091
|
# **Cross-account use:** This operation can't be used across different
|
1030
1092
|
# Amazon Web Services accounts.
|
1031
1093
|
#
|
1032
1094
|
# **Related operations:**
|
1033
1095
|
#
|
1034
|
-
# * [GetParametersForExport][
|
1096
|
+
# * [GetParametersForExport][3]
|
1035
1097
|
#
|
1036
|
-
# * [ImportKey][
|
1098
|
+
# * [ImportKey][4]
|
1037
1099
|
#
|
1038
1100
|
#
|
1039
1101
|
#
|
1040
|
-
# [1]: https://
|
1041
|
-
# [2]: https://
|
1042
|
-
# [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/
|
1043
|
-
# [4]: https://docs.aws.amazon.com/payment-cryptography/latest/
|
1044
|
-
# [5]: https://docs.aws.amazon.com/payment-cryptography/latest/
|
1045
|
-
# [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/
|
1102
|
+
# [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-importexport.html
|
1103
|
+
# [2]: https://webstore.ansi.org/standards/ascx9/ansix91432022
|
1104
|
+
# [3]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForExport.html
|
1105
|
+
# [4]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
|
1106
|
+
# [5]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-export.html
|
1107
|
+
# [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html
|
1108
|
+
# [7]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
|
1046
1109
|
#
|
1047
1110
|
# @option params [required, Types::ExportKeyMaterial] :key_material
|
1048
1111
|
# The key block format type, for example, TR-34 or TR-31, to use during
|
@@ -1118,7 +1181,7 @@ module Aws::PaymentCryptography
|
|
1118
1181
|
# private_key_identifier: "KeyArnOrKeyAliasType", # required
|
1119
1182
|
# certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
|
1120
1183
|
# public_key_certificate: "CertificateType", # required
|
1121
|
-
# derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
|
1184
|
+
# 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
1185
|
# key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
|
1123
1186
|
# key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
|
1124
1187
|
# derivation_data: { # required
|
@@ -1149,7 +1212,7 @@ module Aws::PaymentCryptography
|
|
1149
1212
|
# export_dukpt_initial_key: {
|
1150
1213
|
# key_serial_number: "HexLength20Or24", # required
|
1151
1214
|
# },
|
1152
|
-
# key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
|
1215
|
+
# key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC
|
1153
1216
|
# },
|
1154
1217
|
# })
|
1155
1218
|
#
|
@@ -1159,7 +1222,7 @@ module Aws::PaymentCryptography
|
|
1159
1222
|
# resp.wrapped_key.wrapped_key_material_format #=> String, one of "KEY_CRYPTOGRAM", "TR31_KEY_BLOCK", "TR34_KEY_BLOCK"
|
1160
1223
|
# resp.wrapped_key.key_material #=> String
|
1161
1224
|
# resp.wrapped_key.key_check_value #=> String
|
1162
|
-
# resp.wrapped_key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
|
1225
|
+
# resp.wrapped_key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
|
1163
1226
|
#
|
1164
1227
|
# @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportKey AWS API Documentation
|
1165
1228
|
#
|
@@ -1259,7 +1322,7 @@ module Aws::PaymentCryptography
|
|
1259
1322
|
# resp.key.key_arn #=> String
|
1260
1323
|
# 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
1324
|
# 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"
|
1325
|
+
# 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
1326
|
# resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
|
1264
1327
|
# resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
|
1265
1328
|
# resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
|
@@ -1270,7 +1333,7 @@ module Aws::PaymentCryptography
|
|
1270
1333
|
# resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
|
1271
1334
|
# resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
|
1272
1335
|
# resp.key.key_check_value #=> String
|
1273
|
-
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
|
1336
|
+
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
|
1274
1337
|
# resp.key.enabled #=> Boolean
|
1275
1338
|
# resp.key.exportable #=> Boolean
|
1276
1339
|
# resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
|
@@ -1297,7 +1360,7 @@ module Aws::PaymentCryptography
|
|
1297
1360
|
# The signing key certificate signs the wrapped key under export within
|
1298
1361
|
# the TR-34 key payload. The export token and signing key certificate
|
1299
1362
|
# must be in place and operational before calling [ExportKey][1]. The
|
1300
|
-
# export token expires in
|
1363
|
+
# export token expires in 30 days. You can use the same export token to
|
1301
1364
|
# export multiple keys from your service account.
|
1302
1365
|
#
|
1303
1366
|
# **Cross-account use:** This operation can't be used across different
|
@@ -1337,14 +1400,14 @@ module Aws::PaymentCryptography
|
|
1337
1400
|
#
|
1338
1401
|
# resp = client.get_parameters_for_export({
|
1339
1402
|
# 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
|
1403
|
+
# 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
1404
|
# })
|
1342
1405
|
#
|
1343
1406
|
# @example Response structure
|
1344
1407
|
#
|
1345
1408
|
# resp.signing_key_certificate #=> String
|
1346
1409
|
# 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"
|
1410
|
+
# 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
1411
|
# resp.export_token #=> String
|
1349
1412
|
# resp.parameters_valid_until_timestamp #=> Time
|
1350
1413
|
#
|
@@ -1364,8 +1427,8 @@ module Aws::PaymentCryptography
|
|
1364
1427
|
#
|
1365
1428
|
# The wrapping key certificate wraps the key under import. The import
|
1366
1429
|
# token and wrapping key certificate must be in place and operational
|
1367
|
-
# before calling [ImportKey][1]. The import token expires in
|
1368
|
-
# can use the same import token to import multiple keys into your
|
1430
|
+
# before calling [ImportKey][1]. The import token expires in 30 days.
|
1431
|
+
# You can use the same import token to import multiple keys into your
|
1369
1432
|
# service account.
|
1370
1433
|
#
|
1371
1434
|
# **Cross-account use:** This operation can't be used across different
|
@@ -1411,14 +1474,14 @@ module Aws::PaymentCryptography
|
|
1411
1474
|
#
|
1412
1475
|
# resp = client.get_parameters_for_import({
|
1413
1476
|
# 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
|
1477
|
+
# 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
1478
|
# })
|
1416
1479
|
#
|
1417
1480
|
# @example Response structure
|
1418
1481
|
#
|
1419
1482
|
# resp.wrapping_key_certificate #=> String
|
1420
1483
|
# 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"
|
1484
|
+
# 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
1485
|
# resp.import_token #=> String
|
1423
1486
|
# resp.parameters_valid_until_timestamp #=> Time
|
1424
1487
|
#
|
@@ -1483,20 +1546,22 @@ module Aws::PaymentCryptography
|
|
1483
1546
|
# For symmetric key exchange, Amazon Web Services Payment Cryptography
|
1484
1547
|
# uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And
|
1485
1548
|
# for asymmetric key exchange, Amazon Web Services Payment Cryptography
|
1486
|
-
# supports ANSI X9 TR-34 norm
|
1487
|
-
# mechanisms. Asymmetric key exchange
|
1488
|
-
# establish bi-directional trust between
|
1489
|
-
# and are used for initial key exchange
|
1490
|
-
# or Zone Master Key (ZMK). After which
|
1491
|
-
# using symmetric method to perform various
|
1492
|
-
# within Amazon Web Services Payment
|
1549
|
+
# supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve
|
1550
|
+
# Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange
|
1551
|
+
# methods are typically used to establish bi-directional trust between
|
1552
|
+
# the two parties exhanging keys and are used for initial key exchange
|
1553
|
+
# such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which
|
1554
|
+
# you can import working keys using symmetric method to perform various
|
1555
|
+
# cryptographic operations within Amazon Web Services Payment
|
1556
|
+
# Cryptography.
|
1493
1557
|
#
|
1494
|
-
#
|
1495
|
-
#
|
1496
|
-
#
|
1497
|
-
#
|
1498
|
-
#
|
1499
|
-
#
|
1558
|
+
# PCI requires specific minimum key strength of wrapping keys used to
|
1559
|
+
# protect the keys being exchanged electronically. These requirements
|
1560
|
+
# can change when PCI standards are revised. The rules specify that
|
1561
|
+
# wrapping keys used for transport must be at least as strong as the key
|
1562
|
+
# being protected. For more information on recommended key strength of
|
1563
|
+
# wrapping keys and key exchange mechanism, see [Importing and exporting
|
1564
|
+
# keys][1] in the *Amazon Web Services Payment Cryptography User Guide*.
|
1500
1565
|
#
|
1501
1566
|
# You can also import a *root public key certificate*, used to sign
|
1502
1567
|
# other public key certificates, or a *trusted public key certificate*
|
@@ -1551,13 +1616,13 @@ module Aws::PaymentCryptography
|
|
1551
1616
|
# Amazon Web Services Payment Cryptography who receives the key.
|
1552
1617
|
#
|
1553
1618
|
# To initiate TR-34 key import, the KDH must obtain an import token by
|
1554
|
-
# calling [GetParametersForImport][
|
1619
|
+
# calling [GetParametersForImport][2]. This operation generates an
|
1555
1620
|
# encryption keypair for the purpose of key import, signs the key and
|
1556
1621
|
# returns back the wrapping key certificate (also known as KRD wrapping
|
1557
1622
|
# certificate) and the root certificate chain. The KDH must trust and
|
1558
1623
|
# install the KRD wrapping certificate on its HSM and use it to encrypt
|
1559
1624
|
# (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import
|
1560
|
-
# token and associated KRD wrapping certificate expires after
|
1625
|
+
# token and associated KRD wrapping certificate expires after 30 days.
|
1561
1626
|
#
|
1562
1627
|
# Next the KDH generates a key pair for the purpose of signing the
|
1563
1628
|
# encrypted KDH key and provides the public certificate of the signing
|
@@ -1565,7 +1630,7 @@ module Aws::PaymentCryptography
|
|
1565
1630
|
# need to import the root certificate chain of the KDH signing
|
1566
1631
|
# certificate by calling `ImportKey` for `RootCertificatePublicKey`. For
|
1567
1632
|
# more information on TR-34 key import, see section [Importing symmetric
|
1568
|
-
# keys][
|
1633
|
+
# keys][3] in the *Amazon Web Services Payment Cryptography User Guide*.
|
1569
1634
|
#
|
1570
1635
|
# Set the following parameters:
|
1571
1636
|
#
|
@@ -1575,7 +1640,7 @@ module Aws::PaymentCryptography
|
|
1575
1640
|
# certificate chain that signed the KDH signing key certificate.
|
1576
1641
|
#
|
1577
1642
|
# * `ImportToken`: Obtained from KRD by calling
|
1578
|
-
# [GetParametersForImport][
|
1643
|
+
# [GetParametersForImport][2].
|
1579
1644
|
#
|
1580
1645
|
# * `WrappedKeyBlock`: The TR-34 wrapped key material from KDH. It
|
1581
1646
|
# contains the KDH key under import, wrapped with KRD wrapping
|
@@ -1593,12 +1658,12 @@ module Aws::PaymentCryptography
|
|
1593
1658
|
#
|
1594
1659
|
# Using this operation, you can import initial key using asymmetric RSA
|
1595
1660
|
# wrap and unwrap key exchange method. To initiate import, call
|
1596
|
-
# [GetParametersForImport][
|
1661
|
+
# [GetParametersForImport][2] with `KeyMaterial` set to `KEY_CRYPTOGRAM`
|
1597
1662
|
# to generate an import token. This operation also generates an
|
1598
1663
|
# encryption keypair for the purpose of key import, signs the key and
|
1599
1664
|
# returns back the wrapping key certificate in PEM format (base64
|
1600
1665
|
# encoded) and its root certificate chain. The import token and
|
1601
|
-
# associated KRD wrapping certificate expires after
|
1666
|
+
# associated KRD wrapping certificate expires after 30 days.
|
1602
1667
|
#
|
1603
1668
|
# You must trust and install the wrapping certificate and its
|
1604
1669
|
# certificate chain on the sending HSM and use it to wrap the key under
|
@@ -1611,7 +1676,7 @@ module Aws::PaymentCryptography
|
|
1611
1676
|
# Amazon Web Services Payment Cryptography uses TR-31 symmetric key
|
1612
1677
|
# exchange norm to import working keys. A KEK must be established within
|
1613
1678
|
# Amazon Web Services Payment Cryptography by using TR-34 key import or
|
1614
|
-
# by using [CreateKey][
|
1679
|
+
# by using [CreateKey][4]. To initiate a TR-31 key import, set the
|
1615
1680
|
# following parameters:
|
1616
1681
|
#
|
1617
1682
|
# * `KeyMaterial`: Use `Tr31KeyBlock` parameters.
|
@@ -1625,21 +1690,57 @@ module Aws::PaymentCryptography
|
|
1625
1690
|
# Services Payment Cryptography uses to decrypt or unwrap the key
|
1626
1691
|
# under import.
|
1627
1692
|
#
|
1693
|
+
# **To import working keys using ECDH**
|
1694
|
+
#
|
1695
|
+
# You can also use ECDH key agreement to import working keys as a TR-31
|
1696
|
+
# keyblock, where the wrapping key is an ECDH derived key.
|
1697
|
+
#
|
1698
|
+
# To initiate a TR-31 key import using ECDH, both sides must create an
|
1699
|
+
# ECC key pair with key usage K3 and exchange public key certificates.
|
1700
|
+
# In Amazon Web Services Payment Cryptography, you can do this by
|
1701
|
+
# calling `CreateKey` and then `GetPublicKeyCertificate` to retrieve its
|
1702
|
+
# public key certificate. Next, you can then generate a TR-31
|
1703
|
+
# WrappedKeyBlock using your own ECC key pair, the public certificate of
|
1704
|
+
# the service's ECC key pair, and the key derivation parameters
|
1705
|
+
# including key derivation function, hash algorithm, derivation data,
|
1706
|
+
# and key algorithm. If you have not already done so, you must import
|
1707
|
+
# the CA chain that issued the receiving public key certificate by
|
1708
|
+
# calling `ImportKey` with input `RootCertificatePublicKey` for root CA
|
1709
|
+
# or `TrustedPublicKey` for intermediate CA. To complete the TR-31 key
|
1710
|
+
# import, you can use the following parameters. It is important that the
|
1711
|
+
# ECDH key derivation parameters you use should match those used during
|
1712
|
+
# import to derive the same shared wrapping key within Amazon Web
|
1713
|
+
# Services Payment Cryptography.
|
1714
|
+
#
|
1715
|
+
# * `KeyMaterial`: Use `DiffieHellmanTr31KeyBlock` parameters.
|
1716
|
+
#
|
1717
|
+
# * `PrivateKeyIdentifier`: The `KeyArn` of the ECC key pair created
|
1718
|
+
# within Amazon Web Services Payment Cryptography to derive a shared
|
1719
|
+
# KEK.
|
1720
|
+
#
|
1721
|
+
# * `PublicKeyCertificate`: The public key certificate of the receiving
|
1722
|
+
# ECC key pair in PEM format (base64 encoded) to derive a shared KEK.
|
1723
|
+
#
|
1724
|
+
# * `CertificateAuthorityPublicKeyIdentifier`: The `keyARN` of the CA
|
1725
|
+
# that signed the public key certificate of the receiving ECC key
|
1726
|
+
# pair.
|
1727
|
+
#
|
1628
1728
|
# **Cross-account use:** This operation can't be used across different
|
1629
1729
|
# Amazon Web Services accounts.
|
1630
1730
|
#
|
1631
1731
|
# **Related operations:**
|
1632
1732
|
#
|
1633
|
-
# * [ExportKey][
|
1733
|
+
# * [ExportKey][5]
|
1634
1734
|
#
|
1635
|
-
# * [GetParametersForImport][
|
1735
|
+
# * [GetParametersForImport][2]
|
1636
1736
|
#
|
1637
1737
|
#
|
1638
1738
|
#
|
1639
|
-
# [1]: https://docs.aws.amazon.com/payment-cryptography/latest/
|
1640
|
-
# [2]: https://docs.aws.amazon.com/payment-cryptography/latest/
|
1641
|
-
# [3]: https://docs.aws.amazon.com/payment-cryptography/latest/
|
1642
|
-
# [4]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/
|
1739
|
+
# [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-importexport.html
|
1740
|
+
# [2]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html
|
1741
|
+
# [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-import.html
|
1742
|
+
# [4]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
|
1743
|
+
# [5]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ExportKey.html
|
1643
1744
|
#
|
1644
1745
|
# @option params [required, Types::ImportKeyMaterial] :key_material
|
1645
1746
|
# The key or public key certificate type to use during key material
|
@@ -1698,7 +1799,7 @@ module Aws::PaymentCryptography
|
|
1698
1799
|
# key_attributes: { # required
|
1699
1800
|
# 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
1801
|
# 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
|
1802
|
+
# 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
1803
|
# key_modes_of_use: { # required
|
1703
1804
|
# encrypt: false,
|
1704
1805
|
# decrypt: false,
|
@@ -1717,7 +1818,7 @@ module Aws::PaymentCryptography
|
|
1717
1818
|
# key_attributes: { # required
|
1718
1819
|
# 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
1820
|
# 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
|
1821
|
+
# 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
1822
|
# key_modes_of_use: { # required
|
1722
1823
|
# encrypt: false,
|
1723
1824
|
# decrypt: false,
|
@@ -1749,7 +1850,7 @@ module Aws::PaymentCryptography
|
|
1749
1850
|
# key_attributes: { # required
|
1750
1851
|
# 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
1852
|
# 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
|
1853
|
+
# 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
1854
|
# key_modes_of_use: { # required
|
1754
1855
|
# encrypt: false,
|
1755
1856
|
# decrypt: false,
|
@@ -1771,7 +1872,7 @@ module Aws::PaymentCryptography
|
|
1771
1872
|
# private_key_identifier: "KeyArnOrKeyAliasType", # required
|
1772
1873
|
# certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
|
1773
1874
|
# public_key_certificate: "CertificateType", # required
|
1774
|
-
# derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256
|
1875
|
+
# 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
1876
|
# key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
|
1776
1877
|
# key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
|
1777
1878
|
# derivation_data: { # required
|
@@ -1780,7 +1881,7 @@ module Aws::PaymentCryptography
|
|
1780
1881
|
# wrapped_key_block: "Tr31WrappedKeyBlock", # required
|
1781
1882
|
# },
|
1782
1883
|
# },
|
1783
|
-
# key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24
|
1884
|
+
# key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC
|
1784
1885
|
# enabled: false,
|
1785
1886
|
# tags: [
|
1786
1887
|
# {
|
@@ -1795,7 +1896,7 @@ module Aws::PaymentCryptography
|
|
1795
1896
|
# resp.key.key_arn #=> String
|
1796
1897
|
# 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
1898
|
# 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"
|
1899
|
+
# 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
1900
|
# resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
|
1800
1901
|
# resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
|
1801
1902
|
# resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
|
@@ -1806,7 +1907,7 @@ module Aws::PaymentCryptography
|
|
1806
1907
|
# resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
|
1807
1908
|
# resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
|
1808
1909
|
# resp.key.key_check_value #=> String
|
1809
|
-
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
|
1910
|
+
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
|
1810
1911
|
# resp.key.enabled #=> Boolean
|
1811
1912
|
# resp.key.exportable #=> Boolean
|
1812
1913
|
# resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
|
@@ -1974,7 +2075,7 @@ module Aws::PaymentCryptography
|
|
1974
2075
|
# resp.keys[0].key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
|
1975
2076
|
# 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
2077
|
# 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"
|
2078
|
+
# 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
2079
|
# resp.keys[0].key_attributes.key_modes_of_use.encrypt #=> Boolean
|
1979
2080
|
# resp.keys[0].key_attributes.key_modes_of_use.decrypt #=> Boolean
|
1980
2081
|
# resp.keys[0].key_attributes.key_modes_of_use.wrap #=> Boolean
|
@@ -2114,7 +2215,7 @@ module Aws::PaymentCryptography
|
|
2114
2215
|
# resp.key.key_arn #=> String
|
2115
2216
|
# 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
2217
|
# 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"
|
2218
|
+
# 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
2219
|
# resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
|
2119
2220
|
# resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
|
2120
2221
|
# resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
|
@@ -2125,7 +2226,7 @@ module Aws::PaymentCryptography
|
|
2125
2226
|
# resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
|
2126
2227
|
# resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
|
2127
2228
|
# resp.key.key_check_value #=> String
|
2128
|
-
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
|
2229
|
+
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
|
2129
2230
|
# resp.key.enabled #=> Boolean
|
2130
2231
|
# resp.key.exportable #=> Boolean
|
2131
2232
|
# resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
|
@@ -2181,7 +2282,7 @@ module Aws::PaymentCryptography
|
|
2181
2282
|
# resp.key.key_arn #=> String
|
2182
2283
|
# 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
2284
|
# 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"
|
2285
|
+
# 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
2286
|
# resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
|
2186
2287
|
# resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
|
2187
2288
|
# resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
|
@@ -2192,7 +2293,7 @@ module Aws::PaymentCryptography
|
|
2192
2293
|
# resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
|
2193
2294
|
# resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
|
2194
2295
|
# resp.key.key_check_value #=> String
|
2195
|
-
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
|
2296
|
+
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
|
2196
2297
|
# resp.key.enabled #=> Boolean
|
2197
2298
|
# resp.key.exportable #=> Boolean
|
2198
2299
|
# resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
|
@@ -2252,7 +2353,7 @@ module Aws::PaymentCryptography
|
|
2252
2353
|
# resp.key.key_arn #=> String
|
2253
2354
|
# 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
2355
|
# 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"
|
2356
|
+
# 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
2357
|
# resp.key.key_attributes.key_modes_of_use.encrypt #=> Boolean
|
2257
2358
|
# resp.key.key_attributes.key_modes_of_use.decrypt #=> Boolean
|
2258
2359
|
# resp.key.key_attributes.key_modes_of_use.wrap #=> Boolean
|
@@ -2263,7 +2364,7 @@ module Aws::PaymentCryptography
|
|
2263
2364
|
# resp.key.key_attributes.key_modes_of_use.derive_key #=> Boolean
|
2264
2365
|
# resp.key.key_attributes.key_modes_of_use.no_restrictions #=> Boolean
|
2265
2366
|
# resp.key.key_check_value #=> String
|
2266
|
-
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24"
|
2367
|
+
# resp.key.key_check_value_algorithm #=> String, one of "CMAC", "ANSI_X9_24", "HMAC"
|
2267
2368
|
# resp.key.enabled #=> Boolean
|
2268
2369
|
# resp.key.exportable #=> Boolean
|
2269
2370
|
# resp.key.key_state #=> String, one of "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_PENDING", "DELETE_COMPLETE"
|
@@ -2493,7 +2594,7 @@ module Aws::PaymentCryptography
|
|
2493
2594
|
tracer: tracer
|
2494
2595
|
)
|
2495
2596
|
context[:gem_name] = 'aws-sdk-paymentcryptography'
|
2496
|
-
context[:gem_version] = '1.
|
2597
|
+
context[:gem_version] = '1.37.0'
|
2497
2598
|
Seahorse::Client::Request.new(handlers, context)
|
2498
2599
|
end
|
2499
2600
|
|