aws-sdk-kms 1.112.0 → 1.113.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 +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +175 -125
- data/lib/aws-sdk-kms/customizations.rb +0 -8
- data/lib/aws-sdk-kms/types.rb +137 -109
- data/lib/aws-sdk-kms.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6194c2d6e6313e30760803626454700604df320336130717c3891514aaa0322d
|
4
|
+
data.tar.gz: 01fe36449660e22be20c7269a7d37b5b9aa0d9718897f60718370d29b0fcd947
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb712957b199abb2b20071436c37c46720429d53da7a154c1de6af4d2872f857cd30b40b6477b91af36be1006917e3a972078e8bb40d3564dc47d8f20742bd98
|
7
|
+
data.tar.gz: b607ae20f945b7f0d6cb4634e5b7cca3c67a5c4d13a9e2d410d34013c7e5e3660ca7b421e080f0248839d2364cc89fc648a2736e60ca82b984218aceab313995
|
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.113.0
|
data/lib/aws-sdk-kms/client.rb
CHANGED
@@ -1804,8 +1804,10 @@ module Aws::KMS
|
|
1804
1804
|
# Determines the [cryptographic operations][1] for which you can use the
|
1805
1805
|
# KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter is
|
1806
1806
|
# optional when you are creating a symmetric encryption KMS key;
|
1807
|
-
# otherwise, it is required. You can't change the `KeyUsage`
|
1808
|
-
# after the KMS key is created.
|
1807
|
+
# otherwise, it is required. You can't change the [ `KeyUsage` ][2]
|
1808
|
+
# value after the KMS key is created. Each KMS key can have only one key
|
1809
|
+
# usage. This follows key usage best practices according to [NIST SP
|
1810
|
+
# 800-57 Recommendations for Key Management][3], section 5.2, Key usage.
|
1809
1811
|
#
|
1810
1812
|
# Select only one valid value.
|
1811
1813
|
#
|
@@ -1832,6 +1834,8 @@ module Aws::KMS
|
|
1832
1834
|
#
|
1833
1835
|
#
|
1834
1836
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
1837
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage
|
1838
|
+
# [3]: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
|
1835
1839
|
#
|
1836
1840
|
# @option params [String] :customer_master_key_spec
|
1837
1841
|
# Instead, use the `KeySpec` parameter.
|
@@ -2520,17 +2524,17 @@ module Aws::KMS
|
|
2520
2524
|
# keys or particular trusted accounts. For details, see [Best practices
|
2521
2525
|
# for IAM policies][4] in the *Key Management Service Developer Guide*.
|
2522
2526
|
#
|
2523
|
-
# `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5]
|
2524
|
-
#
|
2525
|
-
# `Decrypt` for a Nitro enclave, use the [Amazon Web
|
2526
|
-
# Enclaves SDK][6] or any Amazon Web Services SDK. Use
|
2527
|
-
# parameter to provide the attestation document for the
|
2528
|
-
# of the plaintext data, the response
|
2529
|
-
# encrypted with the public key from the
|
2530
|
-
# (`CiphertextForRecipient`). For information about
|
2531
|
-
# between KMS and Amazon Web Services Nitro Enclaves
|
2532
|
-
# Web Services
|
2533
|
-
# Service Developer Guide*.
|
2527
|
+
# `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5] and
|
2528
|
+
# NitroTPM, which provide attested environments in Amazon EC2. To call
|
2529
|
+
# `Decrypt` for a Nitro enclave or NitroTPM, use the [Amazon Web
|
2530
|
+
# Services Nitro Enclaves SDK][6] or any Amazon Web Services SDK. Use
|
2531
|
+
# the `Recipient` parameter to provide the attestation document for the
|
2532
|
+
# attested environment. Instead of the plaintext data, the response
|
2533
|
+
# includes the plaintext data encrypted with the public key from the
|
2534
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
2535
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves or
|
2536
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
2537
|
+
# in KMS][7] in the *Key Management Service Developer Guide*.
|
2534
2538
|
#
|
2535
2539
|
# The KMS key that you use for this operation must be in a compatible
|
2536
2540
|
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
@@ -2563,7 +2567,7 @@ module Aws::KMS
|
|
2563
2567
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices
|
2564
2568
|
# [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
2565
2569
|
# [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2566
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2570
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
2567
2571
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
2568
2572
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
2569
2573
|
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
@@ -2653,29 +2657,32 @@ module Aws::KMS
|
|
2653
2657
|
#
|
2654
2658
|
# @option params [Types::RecipientInfo] :recipient
|
2655
2659
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
2656
|
-
# enclave and the encryption algorithm to use with the
|
2657
|
-
# key. The only valid encryption
|
2660
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
2661
|
+
# public key in the attestation document. The only valid encryption
|
2662
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
2658
2663
|
#
|
2659
|
-
# This parameter
|
2660
|
-
#
|
2661
|
-
#
|
2664
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
2665
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
2666
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
2667
|
+
# Services NitroTPM.
|
2662
2668
|
#
|
2663
2669
|
# When you use this parameter, instead of returning the plaintext data,
|
2664
2670
|
# KMS encrypts the plaintext data with the public key in the attestation
|
2665
2671
|
# document, and returns the resulting ciphertext in the
|
2666
2672
|
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
2667
|
-
# decrypted only with the private key in the
|
2668
|
-
# field in the response is null or empty.
|
2673
|
+
# decrypted only with the private key in the attested environment. The
|
2674
|
+
# `Plaintext` field in the response is null or empty.
|
2669
2675
|
#
|
2670
2676
|
# For information about the interaction between KMS and Amazon Web
|
2671
|
-
# Services Nitro Enclaves
|
2672
|
-
#
|
2677
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
2678
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
2679
|
+
# Service Developer Guide*.
|
2673
2680
|
#
|
2674
2681
|
#
|
2675
2682
|
#
|
2676
2683
|
# [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
|
2677
2684
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2678
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2685
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
2679
2686
|
#
|
2680
2687
|
# @option params [Boolean] :dry_run
|
2681
2688
|
# Checks if your request will succeed. `DryRun` is an optional
|
@@ -2733,11 +2740,11 @@ module Aws::KMS
|
|
2733
2740
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
2734
2741
|
# }
|
2735
2742
|
#
|
2736
|
-
# @example Example: To decrypt data for a Nitro enclave
|
2743
|
+
# @example Example: To decrypt data for a Nitro enclave or NitroTPM
|
2737
2744
|
#
|
2738
2745
|
# # The following Decrypt example includes the Recipient parameter with a signed attestation document from an AWS Nitro
|
2739
|
-
# # enclave. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the
|
2740
|
-
# # encrypted by the public key from the attestation document (CiphertextForRecipient).
|
2746
|
+
# # enclave or NitroTPM. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the
|
2747
|
+
# # decrypted data encrypted by the public key from the attestation document (CiphertextForRecipient).
|
2741
2748
|
#
|
2742
2749
|
# resp = client.decrypt({
|
2743
2750
|
# ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
|
@@ -2745,7 +2752,7 @@ module Aws::KMS
|
|
2745
2752
|
# recipient: {
|
2746
2753
|
# attestation_document: "<attestation document>",
|
2747
2754
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
2748
|
-
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
2755
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
2749
2756
|
# })
|
2750
2757
|
#
|
2751
2758
|
# resp.to_h outputs the following:
|
@@ -3245,35 +3252,40 @@ module Aws::KMS
|
|
3245
3252
|
#
|
3246
3253
|
# @option params [Types::RecipientInfo] :recipient
|
3247
3254
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
3248
|
-
# enclave and the encryption algorithm to use with the
|
3249
|
-
# key. The only valid encryption
|
3255
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
3256
|
+
# public key in the attestation document. The only valid encryption
|
3257
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
3250
3258
|
#
|
3251
3259
|
# This parameter only supports attestation documents for Amazon Web
|
3252
|
-
# Services Nitro Enclaves
|
3253
|
-
#
|
3254
|
-
# SDK][2]
|
3255
|
-
#
|
3256
|
-
#
|
3260
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
3261
|
+
# DeriveSharedSecret generate an attestation document use either [Amazon
|
3262
|
+
# Web Services Nitro Enclaves SDK][2] for an Amazon Web Services Nitro
|
3263
|
+
# Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon Web
|
3264
|
+
# Services NitroTPM. Then use the Recipient parameter from any Amazon
|
3265
|
+
# Web Services SDK to provide the attestation document for the attested
|
3266
|
+
# environment.
|
3257
3267
|
#
|
3258
3268
|
# When you use this parameter, instead of returning a plaintext copy of
|
3259
3269
|
# the shared secret, KMS encrypts the plaintext shared secret under the
|
3260
3270
|
# public key in the attestation document, and returns the resulting
|
3261
3271
|
# ciphertext in the `CiphertextForRecipient` field in the response. This
|
3262
|
-
# ciphertext can be decrypted only with the private key in the
|
3263
|
-
# The `CiphertextBlob` field in the response contains the
|
3264
|
-
# shared secret derived from the KMS key specified by the
|
3265
|
-
# parameter and public key specified by the `PublicKey`
|
3266
|
-
# `SharedSecret` field in the response is null or empty.
|
3272
|
+
# ciphertext can be decrypted only with the private key in the attested
|
3273
|
+
# environment. The `CiphertextBlob` field in the response contains the
|
3274
|
+
# encrypted shared secret derived from the KMS key specified by the
|
3275
|
+
# `KeyId` parameter and public key specified by the `PublicKey`
|
3276
|
+
# parameter. The `SharedSecret` field in the response is null or empty.
|
3267
3277
|
#
|
3268
3278
|
# For information about the interaction between KMS and Amazon Web
|
3269
|
-
# Services Nitro Enclaves
|
3270
|
-
#
|
3279
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
3280
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
3281
|
+
# Service Developer Guide*.
|
3271
3282
|
#
|
3272
3283
|
#
|
3273
3284
|
#
|
3274
3285
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
3275
3286
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
3276
|
-
# [3]: https://docs.aws.amazon.com/
|
3287
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
3288
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
3277
3289
|
#
|
3278
3290
|
# @return [Types::DeriveSharedSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
3279
3291
|
#
|
@@ -3302,6 +3314,31 @@ module Aws::KMS
|
|
3302
3314
|
# shared_secret: "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG", # The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.
|
3303
3315
|
# }
|
3304
3316
|
#
|
3317
|
+
# @example Example: To derive a shared secret for a Nitro enclave or NitroTPM
|
3318
|
+
#
|
3319
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
3320
|
+
# # NitroTPM. Instead of returning a plaintext shared secret, DeriveSharedSecret returns the shared secret encrypted by the
|
3321
|
+
# # public key from the attestation document.
|
3322
|
+
#
|
3323
|
+
# resp = client.derive_shared_secret({
|
3324
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret. The only valid value is ECDH.
|
3325
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key identifier for an asymmetric KMS key pair. The private key in the specified key pair is used to derive the shared secret.
|
3326
|
+
# public_key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag", # The public key in your peer's asymmetric key pair.
|
3327
|
+
# recipient: {
|
3328
|
+
# attestation_document: "<attestation document>",
|
3329
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
3330
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
3331
|
+
# })
|
3332
|
+
#
|
3333
|
+
# resp.to_h outputs the following:
|
3334
|
+
# {
|
3335
|
+
# ciphertext_for_recipient: "<binary data>", # The shared secret encrypted by the public key from the attestation document
|
3336
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret.
|
3337
|
+
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The asymmetric KMS key pair used to derive the shared secret.
|
3338
|
+
# key_origin: "AWS_KMS", # The source of the key material for the specified KMS key.
|
3339
|
+
# shared_secret: "", # This field is null or empty
|
3340
|
+
# }
|
3341
|
+
#
|
3305
3342
|
# @example Request syntax with placeholder values
|
3306
3343
|
#
|
3307
3344
|
# resp = client.derive_shared_secret({
|
@@ -4740,16 +4777,17 @@ module Aws::KMS
|
|
4740
4777
|
# `GenerateDataKey` also supports [Amazon Web Services Nitro
|
4741
4778
|
# Enclaves][2], which provide an isolated compute environment in Amazon
|
4742
4779
|
# EC2. To call `GenerateDataKey` for an Amazon Web Services Nitro
|
4743
|
-
# enclave, use the [Amazon Web Services Nitro Enclaves
|
4744
|
-
# Amazon Web Services SDK. Use the `Recipient` parameter
|
4745
|
-
# attestation document for the
|
4746
|
-
# of the data key encrypted under the
|
4747
|
-
# instead of a plaintext copy of the
|
4748
|
-
#
|
4749
|
-
#
|
4750
|
-
#
|
4751
|
-
#
|
4752
|
-
#
|
4780
|
+
# enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
|
4781
|
+
# SDK][3] or any Amazon Web Services SDK. Use the `Recipient` parameter
|
4782
|
+
# to provide the attestation document for the attested environment.
|
4783
|
+
# `GenerateDataKey` returns a copy of the data key encrypted under the
|
4784
|
+
# specified KMS key, as usual. But instead of a plaintext copy of the
|
4785
|
+
# data key, the response includes a copy of the data key encrypted under
|
4786
|
+
# the public key from the attestation document
|
4787
|
+
# (`CiphertextForRecipient`). For information about the interaction
|
4788
|
+
# between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
|
4789
|
+
# Services NitroTPM, see [Cryptographic attestation support in KMS][4]
|
4790
|
+
# in the *Key Management Service Developer Guide*.
|
4753
4791
|
#
|
4754
4792
|
# The KMS key that you use for this operation must be in a compatible
|
4755
4793
|
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
@@ -4808,7 +4846,7 @@ module Aws::KMS
|
|
4808
4846
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
4809
4847
|
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
4810
4848
|
# [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4811
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
4849
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
4812
4850
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
4813
4851
|
# [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
4814
4852
|
# [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
|
@@ -4896,12 +4934,14 @@ module Aws::KMS
|
|
4896
4934
|
#
|
4897
4935
|
# @option params [Types::RecipientInfo] :recipient
|
4898
4936
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
4899
|
-
# enclave and the encryption algorithm to use with the
|
4900
|
-
# key. The only valid encryption
|
4937
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
4938
|
+
# public key in the attestation document. The only valid encryption
|
4939
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
4901
4940
|
#
|
4902
|
-
# This parameter
|
4903
|
-
#
|
4904
|
-
#
|
4941
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
4942
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
4943
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
4944
|
+
# Services NitroTPM.
|
4905
4945
|
#
|
4906
4946
|
# When you use this parameter, instead of returning the plaintext data
|
4907
4947
|
# key, KMS encrypts the plaintext data key under the public key in the
|
@@ -4913,14 +4953,15 @@ module Aws::KMS
|
|
4913
4953
|
# `Plaintext` field in the response is null or empty.
|
4914
4954
|
#
|
4915
4955
|
# For information about the interaction between KMS and Amazon Web
|
4916
|
-
# Services Nitro Enclaves
|
4917
|
-
#
|
4956
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
4957
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
4958
|
+
# Service Developer Guide*.
|
4918
4959
|
#
|
4919
4960
|
#
|
4920
4961
|
#
|
4921
4962
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
4922
4963
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
4923
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
4964
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
4924
4965
|
#
|
4925
4966
|
# @option params [Boolean] :dry_run
|
4926
4967
|
# Checks if your request will succeed. `DryRun` is an optional
|
@@ -4960,10 +5001,10 @@ module Aws::KMS
|
|
4960
5001
|
# plaintext: "<binary data>", # The unencrypted (plaintext) data key.
|
4961
5002
|
# }
|
4962
5003
|
#
|
4963
|
-
# @example Example: To generate a data key
|
5004
|
+
# @example Example: To generate a data key for a Nitro enclave or NitroTPM
|
4964
5005
|
#
|
4965
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
4966
|
-
# # Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
|
5006
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
5007
|
+
# # NitroTPM. Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
|
4967
5008
|
# # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
|
4968
5009
|
# # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
|
4969
5010
|
# # plaintext data key.
|
@@ -4974,7 +5015,7 @@ module Aws::KMS
|
|
4974
5015
|
# recipient: {
|
4975
5016
|
# attestation_document: "<attestation document>",
|
4976
5017
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
4977
|
-
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
5018
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
4978
5019
|
# })
|
4979
5020
|
#
|
4980
5021
|
# resp.to_h outputs the following:
|
@@ -5065,17 +5106,18 @@ module Aws::KMS
|
|
5065
5106
|
# `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
|
5066
5107
|
# Enclaves][3], which provide an isolated compute environment in Amazon
|
5067
5108
|
# EC2. To call `GenerateDataKeyPair` for an Amazon Web Services Nitro
|
5068
|
-
# enclave, use the [Amazon Web Services Nitro Enclaves
|
5069
|
-
# Amazon Web Services SDK. Use the `Recipient` parameter
|
5070
|
-
# attestation document for the
|
5071
|
-
# the public data key and a copy of the
|
5072
|
-
# the specified KMS key, as usual. But
|
5073
|
-
#
|
5074
|
-
#
|
5075
|
-
#
|
5076
|
-
#
|
5077
|
-
#
|
5078
|
-
#
|
5109
|
+
# enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
|
5110
|
+
# SDK][4] or any Amazon Web Services SDK. Use the `Recipient` parameter
|
5111
|
+
# to provide the attestation document for the attested environment.
|
5112
|
+
# `GenerateDataKeyPair` returns the public data key and a copy of the
|
5113
|
+
# private data key encrypted under the specified KMS key, as usual. But
|
5114
|
+
# instead of a plaintext copy of the private data key
|
5115
|
+
# (`PrivateKeyPlaintext`), the response includes a copy of the private
|
5116
|
+
# data key encrypted under the public key from the attestation document
|
5117
|
+
# (`CiphertextForRecipient`). For information about the interaction
|
5118
|
+
# between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
|
5119
|
+
# Services NitroTPM, see [Cryptographic attestation support in KMS][5]
|
5120
|
+
# in the *Key Management Service Developer Guide*.
|
5079
5121
|
#
|
5080
5122
|
# You can use an optional encryption context to add additional security
|
5081
5123
|
# to the encryption operation. If you specify an `EncryptionContext`,
|
@@ -5116,7 +5158,7 @@ module Aws::KMS
|
|
5116
5158
|
# [2]: https://tools.ietf.org/html/rfc5958
|
5117
5159
|
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
5118
5160
|
# [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
5119
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
5161
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
5120
5162
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
5121
5163
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
5122
5164
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
@@ -5195,35 +5237,40 @@ module Aws::KMS
|
|
5195
5237
|
#
|
5196
5238
|
# @option params [Types::RecipientInfo] :recipient
|
5197
5239
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
5198
|
-
# enclave and the encryption algorithm to use with the
|
5199
|
-
# key. The only valid encryption
|
5240
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
5241
|
+
# public key in the attestation document. The only valid encryption
|
5242
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
5200
5243
|
#
|
5201
5244
|
# This parameter only supports attestation documents for Amazon Web
|
5202
|
-
# Services Nitro Enclaves
|
5203
|
-
#
|
5204
|
-
# SDK][2]
|
5205
|
-
#
|
5206
|
-
#
|
5245
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
5246
|
+
# GenerateDataKeyPair generate an attestation document use either
|
5247
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web Services
|
5248
|
+
# Nitro Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon
|
5249
|
+
# Web Services NitroTPM. Then use the Recipient parameter from any
|
5250
|
+
# Amazon Web Services SDK to provide the attestation document for the
|
5251
|
+
# attested environment.
|
5207
5252
|
#
|
5208
5253
|
# When you use this parameter, instead of returning a plaintext copy of
|
5209
5254
|
# the private data key, KMS encrypts the plaintext private data key
|
5210
5255
|
# under the public key in the attestation document, and returns the
|
5211
5256
|
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
5212
5257
|
# response. This ciphertext can be decrypted only with the private key
|
5213
|
-
# in the
|
5214
|
-
# copy of the private data key encrypted under the
|
5215
|
-
# the `KeyId` parameter. The `PrivateKeyPlaintext`
|
5216
|
-
# is null or empty.
|
5258
|
+
# in the attested environment. The `CiphertextBlob` field in the
|
5259
|
+
# response contains a copy of the private data key encrypted under the
|
5260
|
+
# KMS key specified by the `KeyId` parameter. The `PrivateKeyPlaintext`
|
5261
|
+
# field in the response is null or empty.
|
5217
5262
|
#
|
5218
5263
|
# For information about the interaction between KMS and Amazon Web
|
5219
|
-
# Services Nitro Enclaves
|
5220
|
-
#
|
5264
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
5265
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
5266
|
+
# Service Developer Guide*.
|
5221
5267
|
#
|
5222
5268
|
#
|
5223
5269
|
#
|
5224
5270
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
5225
5271
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
5226
|
-
# [3]: https://docs.aws.amazon.com/
|
5272
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
5273
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
5227
5274
|
#
|
5228
5275
|
# @option params [Boolean] :dry_run
|
5229
5276
|
# Checks if your request will succeed. `DryRun` is an optional
|
@@ -5267,13 +5314,13 @@ module Aws::KMS
|
|
5267
5314
|
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
5268
5315
|
# }
|
5269
5316
|
#
|
5270
|
-
# @example Example: To generate a data key pair for a Nitro enclave
|
5317
|
+
# @example Example: To generate a data key pair for a Nitro enclave or NitroTPM
|
5271
5318
|
#
|
5272
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
5273
|
-
# # Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the
|
5274
|
-
# # key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
|
5275
|
-
# # (PublicKey) and a copy of private data key encrypted under the specified KMS key
|
5276
|
-
# # but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
5319
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
5320
|
+
# # NitroTPM. Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the
|
5321
|
+
# # private data key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
|
5322
|
+
# # public data key (PublicKey) and a copy of private data key encrypted under the specified KMS key
|
5323
|
+
# # (PrivateKeyCiphertextBlob), as usual, but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
5277
5324
|
#
|
5278
5325
|
# resp = client.generate_data_key_pair({
|
5279
5326
|
# key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ID of the symmetric encryption KMS key that encrypts the private RSA key in the data key pair.
|
@@ -5281,7 +5328,7 @@ module Aws::KMS
|
|
5281
5328
|
# recipient: {
|
5282
5329
|
# attestation_document: "<attestation document>",
|
5283
5330
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
5284
|
-
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document.
|
5331
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document.
|
5285
5332
|
# })
|
5286
5333
|
#
|
5287
5334
|
# resp.to_h outputs the following:
|
@@ -5917,15 +5964,15 @@ module Aws::KMS
|
|
5917
5964
|
#
|
5918
5965
|
# `GenerateRandom` also supports [Amazon Web Services Nitro
|
5919
5966
|
# Enclaves][1], which provide an isolated compute environment in Amazon
|
5920
|
-
# EC2. To call `GenerateRandom` for a Nitro enclave, use the
|
5921
|
-
# Services Nitro Enclaves SDK][2] or any Amazon Web Services
|
5922
|
-
# the `Recipient` parameter to provide the attestation document
|
5923
|
-
#
|
5924
|
-
# plaintext bytes encrypted under the public key from the
|
5925
|
-
# document (`CiphertextForRecipient`).For information about
|
5926
|
-
# interaction between KMS and Amazon Web Services Nitro Enclaves
|
5927
|
-
#
|
5928
|
-
# Management Service Developer Guide*.
|
5967
|
+
# EC2. To call `GenerateRandom` for a Nitro enclave or NitroTPM, use the
|
5968
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] or any Amazon Web Services
|
5969
|
+
# SDK. Use the `Recipient` parameter to provide the attestation document
|
5970
|
+
# for the attested environment. Instead of plaintext bytes, the response
|
5971
|
+
# includes the plaintext bytes encrypted under the public key from the
|
5972
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
5973
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves or
|
5974
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
5975
|
+
# in KMS][3] in the *Key Management Service Developer Guide*.
|
5929
5976
|
#
|
5930
5977
|
# For more information about entropy and random number generation, see
|
5931
5978
|
# [Entropy and random number generation][4] in the *Key Management
|
@@ -5943,7 +5990,7 @@ module Aws::KMS
|
|
5943
5990
|
#
|
5944
5991
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
5945
5992
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
5946
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
5993
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
5947
5994
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers
|
5948
5995
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
5949
5996
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
@@ -5962,29 +6009,32 @@ module Aws::KMS
|
|
5962
6009
|
#
|
5963
6010
|
# @option params [Types::RecipientInfo] :recipient
|
5964
6011
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
5965
|
-
# enclave and the encryption algorithm to use with the
|
5966
|
-
# key. The only valid encryption
|
6012
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
6013
|
+
# public key in the attestation document. The only valid encryption
|
6014
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
5967
6015
|
#
|
5968
|
-
# This parameter
|
5969
|
-
#
|
5970
|
-
#
|
6016
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
6017
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
6018
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
6019
|
+
# Services NitroTPM.
|
5971
6020
|
#
|
5972
6021
|
# When you use this parameter, instead of returning plaintext bytes, KMS
|
5973
6022
|
# encrypts the plaintext bytes under the public key in the attestation
|
5974
6023
|
# document, and returns the resulting ciphertext in the
|
5975
6024
|
# `CiphertextForRecipient` field in the response. This ciphertext can be
|
5976
|
-
# decrypted only with the private key in the
|
5977
|
-
# field in the response is null or empty.
|
6025
|
+
# decrypted only with the private key in the attested environment. The
|
6026
|
+
# `Plaintext` field in the response is null or empty.
|
5978
6027
|
#
|
5979
6028
|
# For information about the interaction between KMS and Amazon Web
|
5980
|
-
# Services Nitro Enclaves
|
5981
|
-
#
|
6029
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
6030
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
6031
|
+
# Service Developer Guide*.
|
5982
6032
|
#
|
5983
6033
|
#
|
5984
6034
|
#
|
5985
6035
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
5986
6036
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
5987
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
6037
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
5988
6038
|
#
|
5989
6039
|
# @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
5990
6040
|
#
|
@@ -6005,18 +6055,18 @@ module Aws::KMS
|
|
6005
6055
|
# plaintext: "<binary data>", # The random data.
|
6006
6056
|
# }
|
6007
6057
|
#
|
6008
|
-
# @example Example: To generate random data
|
6058
|
+
# @example Example: To generate random data for a Nitro enclave or NitroTPM
|
6009
6059
|
#
|
6010
|
-
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave
|
6011
|
-
# # Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted
|
6012
|
-
# # public key from the
|
6060
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
6061
|
+
# # NitroTPM. Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted
|
6062
|
+
# # by the public key from the attestation document.
|
6013
6063
|
#
|
6014
6064
|
# resp = client.generate_random({
|
6015
6065
|
# number_of_bytes: 1024, # The length of the random byte string
|
6016
6066
|
# recipient: {
|
6017
6067
|
# attestation_document: "<attestation document>",
|
6018
6068
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
6019
|
-
# }, # Specifies the attestation document from the Nitro enclave and the encryption algorithm to use with the public key from the attestation document
|
6069
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
6020
6070
|
# })
|
6021
6071
|
#
|
6022
6072
|
# resp.to_h outputs the following:
|
@@ -11030,7 +11080,7 @@ module Aws::KMS
|
|
11030
11080
|
tracer: tracer
|
11031
11081
|
)
|
11032
11082
|
context[:gem_name] = 'aws-sdk-kms'
|
11033
|
-
context[:gem_version] = '1.
|
11083
|
+
context[:gem_version] = '1.113.0'
|
11034
11084
|
Seahorse::Client::Request.new(handlers, context)
|
11035
11085
|
end
|
11036
11086
|
|
data/lib/aws-sdk-kms/types.rb
CHANGED
@@ -847,8 +847,11 @@ module Aws::KMS
|
|
847
847
|
# Determines the [cryptographic operations][1] for which you can use
|
848
848
|
# the KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter
|
849
849
|
# is optional when you are creating a symmetric encryption KMS key;
|
850
|
-
# otherwise, it is required. You can't change the `KeyUsage`
|
851
|
-
# after the KMS key is created.
|
850
|
+
# otherwise, it is required. You can't change the [ `KeyUsage` ][2]
|
851
|
+
# value after the KMS key is created. Each KMS key can have only one
|
852
|
+
# key usage. This follows key usage best practices according to [NIST
|
853
|
+
# SP 800-57 Recommendations for Key Management][3], section 5.2, Key
|
854
|
+
# usage.
|
852
855
|
#
|
853
856
|
# Select only one valid value.
|
854
857
|
#
|
@@ -875,6 +878,8 @@ module Aws::KMS
|
|
875
878
|
#
|
876
879
|
#
|
877
880
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
881
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage
|
882
|
+
# [3]: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
|
878
883
|
# @return [String]
|
879
884
|
#
|
880
885
|
# @!attribute [rw] customer_master_key_spec
|
@@ -1620,30 +1625,32 @@ module Aws::KMS
|
|
1620
1625
|
#
|
1621
1626
|
# @!attribute [rw] recipient
|
1622
1627
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
1623
|
-
# enclave and the encryption algorithm to use with the
|
1624
|
-
# public key. The only valid encryption
|
1625
|
-
# `RSAES_OAEP_SHA_256`.
|
1628
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
1629
|
+
# public key in the attestation document. The only valid encryption
|
1630
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
1626
1631
|
#
|
1627
|
-
# This parameter
|
1628
|
-
#
|
1629
|
-
#
|
1632
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
1633
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
1634
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
1635
|
+
# Services NitroTPM.
|
1630
1636
|
#
|
1631
1637
|
# When you use this parameter, instead of returning the plaintext
|
1632
1638
|
# data, KMS encrypts the plaintext data with the public key in the
|
1633
1639
|
# attestation document, and returns the resulting ciphertext in the
|
1634
1640
|
# `CiphertextForRecipient` field in the response. This ciphertext can
|
1635
|
-
# be decrypted only with the private key in the
|
1636
|
-
# `Plaintext` field in the response is null or empty.
|
1641
|
+
# be decrypted only with the private key in the attested environment.
|
1642
|
+
# The `Plaintext` field in the response is null or empty.
|
1637
1643
|
#
|
1638
1644
|
# For information about the interaction between KMS and Amazon Web
|
1639
|
-
# Services Nitro Enclaves
|
1640
|
-
#
|
1645
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
1646
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
1647
|
+
# Service Developer Guide*.
|
1641
1648
|
#
|
1642
1649
|
#
|
1643
1650
|
#
|
1644
1651
|
# [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
|
1645
1652
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
1646
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1653
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
1647
1654
|
# @return [Types::RecipientInfo]
|
1648
1655
|
#
|
1649
1656
|
# @!attribute [rw] dry_run
|
@@ -1695,19 +1702,21 @@ module Aws::KMS
|
|
1695
1702
|
# @return [String]
|
1696
1703
|
#
|
1697
1704
|
# @!attribute [rw] ciphertext_for_recipient
|
1698
|
-
# The plaintext data encrypted with the public key
|
1699
|
-
# document.
|
1705
|
+
# The plaintext data encrypted with the public key from the
|
1706
|
+
# attestation document. This ciphertext can be decrypted only by using
|
1707
|
+
# a private key from the attested environment.
|
1700
1708
|
#
|
1701
1709
|
# This field is included in the response only when the `Recipient`
|
1702
1710
|
# parameter in the request includes a valid attestation document from
|
1703
|
-
# an Amazon Web Services Nitro enclave. For information
|
1704
|
-
# interaction between KMS and Amazon Web Services Nitro
|
1705
|
-
#
|
1706
|
-
# Management Service
|
1711
|
+
# an Amazon Web Services Nitro enclave or NitroTPM. For information
|
1712
|
+
# about the interaction between KMS and Amazon Web Services Nitro
|
1713
|
+
# Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
|
1714
|
+
# attestation support in KMS][1] in the *Key Management Service
|
1715
|
+
# Developer Guide*.
|
1707
1716
|
#
|
1708
1717
|
#
|
1709
1718
|
#
|
1710
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1719
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
1711
1720
|
# @return [String]
|
1712
1721
|
#
|
1713
1722
|
# @!attribute [rw] key_material_id
|
@@ -1917,37 +1926,41 @@ module Aws::KMS
|
|
1917
1926
|
#
|
1918
1927
|
# @!attribute [rw] recipient
|
1919
1928
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
1920
|
-
# enclave and the encryption algorithm to use with the
|
1921
|
-
# public key. The only valid encryption
|
1922
|
-
# `RSAES_OAEP_SHA_256`.
|
1929
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
1930
|
+
# public key in the attestation document. The only valid encryption
|
1931
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
1923
1932
|
#
|
1924
1933
|
# This parameter only supports attestation documents for Amazon Web
|
1925
|
-
# Services Nitro Enclaves
|
1926
|
-
#
|
1927
|
-
# Enclaves SDK][2]
|
1928
|
-
#
|
1929
|
-
#
|
1934
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
1935
|
+
# DeriveSharedSecret generate an attestation document use either
|
1936
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web
|
1937
|
+
# Services Nitro Enclaves or [Amazon Web Services NitroTPM tools][3]
|
1938
|
+
# for Amazon Web Services NitroTPM. Then use the Recipient parameter
|
1939
|
+
# from any Amazon Web Services SDK to provide the attestation document
|
1940
|
+
# for the attested environment.
|
1930
1941
|
#
|
1931
1942
|
# When you use this parameter, instead of returning a plaintext copy
|
1932
1943
|
# of the shared secret, KMS encrypts the plaintext shared secret under
|
1933
1944
|
# the public key in the attestation document, and returns the
|
1934
1945
|
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
1935
1946
|
# response. This ciphertext can be decrypted only with the private key
|
1936
|
-
# in the
|
1937
|
-
# the encrypted shared secret derived from the KMS
|
1938
|
-
# the `KeyId` parameter and public key specified by
|
1939
|
-
# parameter. The `SharedSecret` field in the response
|
1940
|
-
# empty.
|
1947
|
+
# in the attested environment. The `CiphertextBlob` field in the
|
1948
|
+
# response contains the encrypted shared secret derived from the KMS
|
1949
|
+
# key specified by the `KeyId` parameter and public key specified by
|
1950
|
+
# the `PublicKey` parameter. The `SharedSecret` field in the response
|
1951
|
+
# is null or empty.
|
1941
1952
|
#
|
1942
1953
|
# For information about the interaction between KMS and Amazon Web
|
1943
|
-
# Services Nitro Enclaves
|
1944
|
-
#
|
1954
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
1955
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
1956
|
+
# Service Developer Guide*.
|
1945
1957
|
#
|
1946
1958
|
#
|
1947
1959
|
#
|
1948
1960
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
1949
1961
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
1950
|
-
# [3]: https://docs.aws.amazon.com/
|
1962
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
1963
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
1951
1964
|
# @return [Types::RecipientInfo]
|
1952
1965
|
#
|
1953
1966
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeriveSharedSecretRequest AWS API Documentation
|
@@ -1976,19 +1989,21 @@ module Aws::KMS
|
|
1976
1989
|
# @return [String]
|
1977
1990
|
#
|
1978
1991
|
# @!attribute [rw] ciphertext_for_recipient
|
1979
|
-
# The plaintext shared secret encrypted with the public key
|
1980
|
-
# attestation document.
|
1992
|
+
# The plaintext shared secret encrypted with the public key from the
|
1993
|
+
# attestation document. This ciphertext can be decrypted only by using
|
1994
|
+
# a private key from the attested environment.
|
1981
1995
|
#
|
1982
1996
|
# This field is included in the response only when the `Recipient`
|
1983
1997
|
# parameter in the request includes a valid attestation document from
|
1984
|
-
# an Amazon Web Services Nitro enclave. For information
|
1985
|
-
# interaction between KMS and Amazon Web Services Nitro
|
1986
|
-
#
|
1987
|
-
# Management Service
|
1998
|
+
# an Amazon Web Services Nitro enclave or NitroTPM. For information
|
1999
|
+
# about the interaction between KMS and Amazon Web Services Nitro
|
2000
|
+
# Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
|
2001
|
+
# attestation support in KMS][1] in the *Key Management Service
|
2002
|
+
# Developer Guide*.
|
1988
2003
|
#
|
1989
2004
|
#
|
1990
2005
|
#
|
1991
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2006
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
1992
2007
|
# @return [String]
|
1993
2008
|
#
|
1994
2009
|
# @!attribute [rw] key_agreement_algorithm
|
@@ -2573,36 +2588,40 @@ module Aws::KMS
|
|
2573
2588
|
#
|
2574
2589
|
# @!attribute [rw] recipient
|
2575
2590
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
2576
|
-
# enclave and the encryption algorithm to use with the
|
2577
|
-
# public key. The only valid encryption
|
2578
|
-
# `RSAES_OAEP_SHA_256`.
|
2591
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
2592
|
+
# public key in the attestation document. The only valid encryption
|
2593
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
2579
2594
|
#
|
2580
2595
|
# This parameter only supports attestation documents for Amazon Web
|
2581
|
-
# Services Nitro Enclaves
|
2582
|
-
#
|
2583
|
-
# Enclaves SDK][2]
|
2584
|
-
#
|
2585
|
-
#
|
2596
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
2597
|
+
# GenerateDataKeyPair generate an attestation document use either
|
2598
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web
|
2599
|
+
# Services Nitro Enclaves or [Amazon Web Services NitroTPM tools][3]
|
2600
|
+
# for Amazon Web Services NitroTPM. Then use the Recipient parameter
|
2601
|
+
# from any Amazon Web Services SDK to provide the attestation document
|
2602
|
+
# for the attested environment.
|
2586
2603
|
#
|
2587
2604
|
# When you use this parameter, instead of returning a plaintext copy
|
2588
2605
|
# of the private data key, KMS encrypts the plaintext private data key
|
2589
2606
|
# under the public key in the attestation document, and returns the
|
2590
2607
|
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
2591
2608
|
# response. This ciphertext can be decrypted only with the private key
|
2592
|
-
# in the
|
2593
|
-
# a copy of the private data key encrypted under the
|
2594
|
-
# by the `KeyId` parameter. The
|
2595
|
-
# response is null or empty.
|
2609
|
+
# in the attested environment. The `CiphertextBlob` field in the
|
2610
|
+
# response contains a copy of the private data key encrypted under the
|
2611
|
+
# KMS key specified by the `KeyId` parameter. The
|
2612
|
+
# `PrivateKeyPlaintext` field in the response is null or empty.
|
2596
2613
|
#
|
2597
2614
|
# For information about the interaction between KMS and Amazon Web
|
2598
|
-
# Services Nitro Enclaves
|
2599
|
-
#
|
2615
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
2616
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
2617
|
+
# Service Developer Guide*.
|
2600
2618
|
#
|
2601
2619
|
#
|
2602
2620
|
#
|
2603
2621
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
2604
2622
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2605
|
-
# [3]: https://docs.aws.amazon.com/
|
2623
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
2624
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
2606
2625
|
# @return [Types::RecipientInfo]
|
2607
2626
|
#
|
2608
2627
|
# @!attribute [rw] dry_run
|
@@ -2666,19 +2685,20 @@ module Aws::KMS
|
|
2666
2685
|
#
|
2667
2686
|
# @!attribute [rw] ciphertext_for_recipient
|
2668
2687
|
# The plaintext private data key encrypted with the public key from
|
2669
|
-
# the
|
2670
|
-
# private key
|
2688
|
+
# the attestation document. This ciphertext can be decrypted only by
|
2689
|
+
# using a private key from the attested environment.
|
2671
2690
|
#
|
2672
2691
|
# This field is included in the response only when the `Recipient`
|
2673
2692
|
# parameter in the request includes a valid attestation document from
|
2674
|
-
# an Amazon Web Services Nitro enclave. For information
|
2675
|
-
# interaction between KMS and Amazon Web Services Nitro
|
2676
|
-
#
|
2677
|
-
# Management Service
|
2693
|
+
# an Amazon Web Services Nitro enclave or NitroTPM. For information
|
2694
|
+
# about the interaction between KMS and Amazon Web Services Nitro
|
2695
|
+
# Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
|
2696
|
+
# attestation support in KMS][1] in the *Key Management Service
|
2697
|
+
# Developer Guide*.
|
2678
2698
|
#
|
2679
2699
|
#
|
2680
2700
|
#
|
2681
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2701
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
2682
2702
|
# @return [String]
|
2683
2703
|
#
|
2684
2704
|
# @!attribute [rw] key_material_id
|
@@ -2927,13 +2947,14 @@ module Aws::KMS
|
|
2927
2947
|
#
|
2928
2948
|
# @!attribute [rw] recipient
|
2929
2949
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
2930
|
-
# enclave and the encryption algorithm to use with the
|
2931
|
-
# public key. The only valid encryption
|
2932
|
-
# `RSAES_OAEP_SHA_256`.
|
2950
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
2951
|
+
# public key in the attestation document. The only valid encryption
|
2952
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
2933
2953
|
#
|
2934
|
-
# This parameter
|
2935
|
-
#
|
2936
|
-
#
|
2954
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
2955
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
2956
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
2957
|
+
# Services NitroTPM.
|
2937
2958
|
#
|
2938
2959
|
# When you use this parameter, instead of returning the plaintext data
|
2939
2960
|
# key, KMS encrypts the plaintext data key under the public key in the
|
@@ -2945,14 +2966,15 @@ module Aws::KMS
|
|
2945
2966
|
# The `Plaintext` field in the response is null or empty.
|
2946
2967
|
#
|
2947
2968
|
# For information about the interaction between KMS and Amazon Web
|
2948
|
-
# Services Nitro Enclaves
|
2949
|
-
#
|
2969
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
2970
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
2971
|
+
# Service Developer Guide*.
|
2950
2972
|
#
|
2951
2973
|
#
|
2952
2974
|
#
|
2953
2975
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
2954
2976
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
2955
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
2977
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
2956
2978
|
# @return [Types::RecipientInfo]
|
2957
2979
|
#
|
2958
2980
|
# @!attribute [rw] dry_run
|
@@ -3007,20 +3029,21 @@ module Aws::KMS
|
|
3007
3029
|
# @return [String]
|
3008
3030
|
#
|
3009
3031
|
# @!attribute [rw] ciphertext_for_recipient
|
3010
|
-
# The plaintext data key encrypted with the public key from the
|
3011
|
-
#
|
3012
|
-
# key
|
3032
|
+
# The plaintext data key encrypted with the public key from the
|
3033
|
+
# attestation document. This ciphertext can be decrypted only by using
|
3034
|
+
# a private key from the attested environment.
|
3013
3035
|
#
|
3014
3036
|
# This field is included in the response only when the `Recipient`
|
3015
3037
|
# parameter in the request includes a valid attestation document from
|
3016
|
-
# an Amazon Web Services Nitro enclave. For information
|
3017
|
-
# interaction between KMS and Amazon Web Services Nitro
|
3018
|
-
#
|
3019
|
-
# Management Service
|
3038
|
+
# an Amazon Web Services Nitro enclave or NitroTPM. For information
|
3039
|
+
# about the interaction between KMS and Amazon Web Services Nitro
|
3040
|
+
# Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
|
3041
|
+
# attestation support in KMS][1] in the *Key Management Service
|
3042
|
+
# Developer Guide*.
|
3020
3043
|
#
|
3021
3044
|
#
|
3022
3045
|
#
|
3023
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
3046
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
3024
3047
|
# @return [String]
|
3025
3048
|
#
|
3026
3049
|
# @!attribute [rw] key_material_id
|
@@ -3284,30 +3307,32 @@ module Aws::KMS
|
|
3284
3307
|
#
|
3285
3308
|
# @!attribute [rw] recipient
|
3286
3309
|
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
3287
|
-
# enclave and the encryption algorithm to use with the
|
3288
|
-
# public key. The only valid encryption
|
3289
|
-
# `RSAES_OAEP_SHA_256`.
|
3310
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
3311
|
+
# public key in the attestation document. The only valid encryption
|
3312
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
3290
3313
|
#
|
3291
|
-
# This parameter
|
3292
|
-
#
|
3293
|
-
#
|
3314
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
3315
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
3316
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
3317
|
+
# Services NitroTPM.
|
3294
3318
|
#
|
3295
3319
|
# When you use this parameter, instead of returning plaintext bytes,
|
3296
3320
|
# KMS encrypts the plaintext bytes under the public key in the
|
3297
3321
|
# attestation document, and returns the resulting ciphertext in the
|
3298
3322
|
# `CiphertextForRecipient` field in the response. This ciphertext can
|
3299
|
-
# be decrypted only with the private key in the
|
3300
|
-
# `Plaintext` field in the response is null or empty.
|
3323
|
+
# be decrypted only with the private key in the attested environment.
|
3324
|
+
# The `Plaintext` field in the response is null or empty.
|
3301
3325
|
#
|
3302
3326
|
# For information about the interaction between KMS and Amazon Web
|
3303
|
-
# Services Nitro Enclaves
|
3304
|
-
#
|
3327
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
3328
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
3329
|
+
# Service Developer Guide*.
|
3305
3330
|
#
|
3306
3331
|
#
|
3307
3332
|
#
|
3308
3333
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
3309
3334
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
3310
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
3335
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
3311
3336
|
# @return [Types::RecipientInfo]
|
3312
3337
|
#
|
3313
3338
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomRequest AWS API Documentation
|
@@ -3331,19 +3356,20 @@ module Aws::KMS
|
|
3331
3356
|
#
|
3332
3357
|
# @!attribute [rw] ciphertext_for_recipient
|
3333
3358
|
# The plaintext random bytes encrypted with the public key from the
|
3334
|
-
#
|
3335
|
-
# private key
|
3359
|
+
# attestation document. This ciphertext can be decrypted only by using
|
3360
|
+
# a private key from the attested environment.
|
3336
3361
|
#
|
3337
3362
|
# This field is included in the response only when the `Recipient`
|
3338
3363
|
# parameter in the request includes a valid attestation document from
|
3339
|
-
# an Amazon Web Services Nitro enclave. For information
|
3340
|
-
# interaction between KMS and Amazon Web Services Nitro
|
3341
|
-
#
|
3342
|
-
# Management Service
|
3364
|
+
# an Amazon Web Services Nitro enclave or NitroTPM. For information
|
3365
|
+
# about the interaction between KMS and Amazon Web Services Nitro
|
3366
|
+
# Enclaves or Amazon Web Services NitroTPM, see [Cryptographic
|
3367
|
+
# attestation support in KMS][1] in the *Key Management Service
|
3368
|
+
# Developer Guide*.
|
3343
3369
|
#
|
3344
3370
|
#
|
3345
3371
|
#
|
3346
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
3372
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
3347
3373
|
# @return [String]
|
3348
3374
|
#
|
3349
3375
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomResponse AWS API Documentation
|
@@ -5524,24 +5550,26 @@ module Aws::KMS
|
|
5524
5550
|
# the API operation.
|
5525
5551
|
#
|
5526
5552
|
# This data type is designed to support Amazon Web Services Nitro
|
5527
|
-
# Enclaves, which lets you create an
|
5528
|
-
# Amazon EC2. For information about the
|
5529
|
-
#
|
5530
|
-
#
|
5553
|
+
# Enclaves and Amazon Web Services NitroTPM, which lets you create an
|
5554
|
+
# attested environment in Amazon EC2. For information about the
|
5555
|
+
# interaction between KMS and Amazon Web Services Nitro Enclaves or
|
5556
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
5557
|
+
# in KMS][1] in the *Key Management Service Developer Guide*.
|
5531
5558
|
#
|
5532
5559
|
#
|
5533
5560
|
#
|
5534
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
5561
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
5535
5562
|
#
|
5536
5563
|
# @!attribute [rw] key_encryption_algorithm
|
5537
5564
|
# The encryption algorithm that KMS should use with the public key for
|
5538
|
-
# an Amazon Web Services Nitro Enclave to encrypt
|
5539
|
-
# the response. The only valid value is
|
5565
|
+
# an Amazon Web Services Nitro Enclave or NitroTPM to encrypt
|
5566
|
+
# plaintext values for the response. The only valid value is
|
5567
|
+
# `RSAES_OAEP_SHA_256`.
|
5540
5568
|
# @return [String]
|
5541
5569
|
#
|
5542
5570
|
# @!attribute [rw] attestation_document
|
5543
|
-
# The attestation document for an Amazon Web Services Nitro Enclave
|
5544
|
-
# This document includes the enclave's public key.
|
5571
|
+
# The attestation document for an Amazon Web Services Nitro Enclave or
|
5572
|
+
# a NitroTPM. This document includes the enclave's public key.
|
5545
5573
|
# @return [String]
|
5546
5574
|
#
|
5547
5575
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RecipientInfo AWS API Documentation
|
data/lib/aws-sdk-kms.rb
CHANGED