aws-sdk-kms 1.112.0 → 1.117.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 +25 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +256 -162
- data/lib/aws-sdk-kms/client_api.rb +4 -0
- data/lib/aws-sdk-kms/customizations.rb +0 -8
- data/lib/aws-sdk-kms/endpoint_parameters.rb +4 -4
- data/lib/aws-sdk-kms/types.rb +197 -114
- data/lib/aws-sdk-kms.rb +1 -1
- data/sig/client.rbs +13 -11
- data/sig/types.rbs +16 -13
- metadata +3 -3
data/lib/aws-sdk-kms/client.rb
CHANGED
|
@@ -1083,6 +1083,13 @@ module Aws::KMS
|
|
|
1083
1083
|
#
|
|
1084
1084
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keystore.html#xks-requirements
|
|
1085
1085
|
#
|
|
1086
|
+
# @option params [String] :xks_proxy_vpc_endpoint_service_owner
|
|
1087
|
+
# Specifies the Amazon Web Services account ID that owns the Amazon VPC
|
|
1088
|
+
# service endpoint for the interface that is used to communicate with
|
|
1089
|
+
# your external key store proxy (XKS proxy). This parameter is optional.
|
|
1090
|
+
# If not provided, the Amazon Web Services account ID calling the action
|
|
1091
|
+
# will be used.
|
|
1092
|
+
#
|
|
1086
1093
|
# @option params [Types::XksProxyAuthenticationCredentialType] :xks_proxy_authentication_credential
|
|
1087
1094
|
# Specifies an authentication credential for the external key store
|
|
1088
1095
|
# proxy (XKS proxy). This parameter is required for all custom key
|
|
@@ -1209,6 +1216,7 @@ module Aws::KMS
|
|
|
1209
1216
|
# xks_proxy_uri_endpoint: "XksProxyUriEndpointType",
|
|
1210
1217
|
# xks_proxy_uri_path: "XksProxyUriPathType",
|
|
1211
1218
|
# xks_proxy_vpc_endpoint_service_name: "XksProxyVpcEndpointServiceNameType",
|
|
1219
|
+
# xks_proxy_vpc_endpoint_service_owner: "AccountIdType",
|
|
1212
1220
|
# xks_proxy_authentication_credential: {
|
|
1213
1221
|
# access_key_id: "XksProxyAuthenticationAccessKeyIdType", # required
|
|
1214
1222
|
# raw_secret_access_key: "XksProxyAuthenticationRawSecretAccessKeyType", # required
|
|
@@ -1568,8 +1576,8 @@ module Aws::KMS
|
|
|
1568
1576
|
# download the public key so it can be used outside of KMS. Each KMS
|
|
1569
1577
|
# key can have only one key usage. KMS keys with RSA key pairs can be
|
|
1570
1578
|
# used to encrypt and decrypt data or sign and verify messages (but
|
|
1571
|
-
# not both). KMS keys with NIST-
|
|
1572
|
-
#
|
|
1579
|
+
# not both). KMS keys with NIST-standard ECC key pairs can be used to
|
|
1580
|
+
# sign and verify messages or derive shared secrets (but not both).
|
|
1573
1581
|
# KMS keys with `ECC_SECG_P256K1` can be used only to sign and verify
|
|
1574
1582
|
# messages. KMS keys with ML-DSA key pairs can be used to sign and
|
|
1575
1583
|
# verify messages. KMS keys with SM2 key pairs (China Regions only)
|
|
@@ -1804,8 +1812,10 @@ module Aws::KMS
|
|
|
1804
1812
|
# Determines the [cryptographic operations][1] for which you can use the
|
|
1805
1813
|
# KMS key. The default value is `ENCRYPT_DECRYPT`. This parameter is
|
|
1806
1814
|
# 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.
|
|
1815
|
+
# otherwise, it is required. You can't change the [ `KeyUsage` ][2]
|
|
1816
|
+
# value after the KMS key is created. Each KMS key can have only one key
|
|
1817
|
+
# usage. This follows key usage best practices according to [NIST SP
|
|
1818
|
+
# 800-57 Recommendations for Key Management][3], section 5.2, Key usage.
|
|
1809
1819
|
#
|
|
1810
1820
|
# Select only one valid value.
|
|
1811
1821
|
#
|
|
@@ -1817,8 +1827,8 @@ module Aws::KMS
|
|
|
1817
1827
|
# * For asymmetric KMS keys with RSA key pairs, specify
|
|
1818
1828
|
# `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
|
|
1819
1829
|
#
|
|
1820
|
-
# * For asymmetric KMS keys with NIST-
|
|
1821
|
-
#
|
|
1830
|
+
# * For asymmetric KMS keys with NIST-standard elliptic curve key pairs,
|
|
1831
|
+
# specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
|
|
1822
1832
|
#
|
|
1823
1833
|
# * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
|
|
1824
1834
|
# `SIGN_VERIFY`.
|
|
@@ -1832,6 +1842,8 @@ module Aws::KMS
|
|
|
1832
1842
|
#
|
|
1833
1843
|
#
|
|
1834
1844
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
|
|
1845
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#key-usage
|
|
1846
|
+
# [3]: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
|
|
1835
1847
|
#
|
|
1836
1848
|
# @option params [String] :customer_master_key_spec
|
|
1837
1849
|
# Instead, use the `KeySpec` parameter.
|
|
@@ -1887,7 +1899,7 @@ module Aws::KMS
|
|
|
1887
1899
|
# * `RSA_3072`
|
|
1888
1900
|
#
|
|
1889
1901
|
# * `RSA_4096`
|
|
1890
|
-
# * Asymmetric NIST-
|
|
1902
|
+
# * Asymmetric NIST-standard elliptic curve key pairs (signing and
|
|
1891
1903
|
# verification -or- deriving shared secrets)
|
|
1892
1904
|
#
|
|
1893
1905
|
# * `ECC_NIST_P256` (secp256r1)
|
|
@@ -1895,6 +1907,17 @@ module Aws::KMS
|
|
|
1895
1907
|
# * `ECC_NIST_P384` (secp384r1)
|
|
1896
1908
|
#
|
|
1897
1909
|
# * `ECC_NIST_P521` (secp521r1)
|
|
1910
|
+
#
|
|
1911
|
+
# * `ECC_NIST_EDWARDS25519` (ed25519) - signing and verification only
|
|
1912
|
+
#
|
|
1913
|
+
# * **Note:** For ECC\_NIST\_EDWARDS25519 KMS keys, the
|
|
1914
|
+
# ED25519\_SHA\_512 signing algorithm requires [ `MessageType:RAW`
|
|
1915
|
+
# ](kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType),
|
|
1916
|
+
# while ED25519\_PH\_SHA\_512 requires [ `MessageType:DIGEST`
|
|
1917
|
+
# ](kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType).
|
|
1918
|
+
# These message types cannot be used interchangeably.
|
|
1919
|
+
#
|
|
1920
|
+
# ^
|
|
1898
1921
|
# * Other asymmetric elliptic curve key pairs (signing and verification)
|
|
1899
1922
|
#
|
|
1900
1923
|
# * `ECC_SECG_P256K1` (secp256k1), commonly used for cryptocurrencies.
|
|
@@ -2410,7 +2433,7 @@ module Aws::KMS
|
|
|
2410
2433
|
# description: "DescriptionType",
|
|
2411
2434
|
# key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC, KEY_AGREEMENT
|
|
2412
2435
|
# customer_master_key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
|
|
2413
|
-
# key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2, ML_DSA_44, ML_DSA_65, ML_DSA_87
|
|
2436
|
+
# key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2, ML_DSA_44, ML_DSA_65, ML_DSA_87, ECC_NIST_EDWARDS25519
|
|
2414
2437
|
# origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM, EXTERNAL_KEY_STORE
|
|
2415
2438
|
# custom_key_store_id: "CustomKeyStoreIdType",
|
|
2416
2439
|
# bypass_policy_lockout_safety_check: false,
|
|
@@ -2442,11 +2465,11 @@ module Aws::KMS
|
|
|
2442
2465
|
# resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
2443
2466
|
# resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
2444
2467
|
# resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
2445
|
-
# resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
|
|
2468
|
+
# resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87", "ECC_NIST_EDWARDS25519"
|
|
2446
2469
|
# resp.key_metadata.encryption_algorithms #=> Array
|
|
2447
2470
|
# resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
2448
2471
|
# resp.key_metadata.signing_algorithms #=> Array
|
|
2449
|
-
# resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
|
|
2472
|
+
# resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
2450
2473
|
# resp.key_metadata.key_agreement_algorithms #=> Array
|
|
2451
2474
|
# resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
2452
2475
|
# resp.key_metadata.multi_region #=> Boolean
|
|
@@ -2520,17 +2543,17 @@ module Aws::KMS
|
|
|
2520
2543
|
# keys or particular trusted accounts. For details, see [Best practices
|
|
2521
2544
|
# for IAM policies][4] in the *Key Management Service Developer Guide*.
|
|
2522
2545
|
#
|
|
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*.
|
|
2546
|
+
# `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5] and
|
|
2547
|
+
# NitroTPM, which provide attested environments in Amazon EC2. To call
|
|
2548
|
+
# `Decrypt` for a Nitro enclave or NitroTPM, use the [Amazon Web
|
|
2549
|
+
# Services Nitro Enclaves SDK][6] or any Amazon Web Services SDK. Use
|
|
2550
|
+
# the `Recipient` parameter to provide the attestation document for the
|
|
2551
|
+
# attested environment. Instead of the plaintext data, the response
|
|
2552
|
+
# includes the plaintext data encrypted with the public key from the
|
|
2553
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
|
2554
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves or
|
|
2555
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
|
2556
|
+
# in KMS][7] in the *Key Management Service Developer Guide*.
|
|
2534
2557
|
#
|
|
2535
2558
|
# The KMS key that you use for this operation must be in a compatible
|
|
2536
2559
|
# key state. For details, see [Key states of KMS keys][8] in the *Key
|
|
@@ -2563,7 +2586,7 @@ module Aws::KMS
|
|
|
2563
2586
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policies-best-practices
|
|
2564
2587
|
# [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
2565
2588
|
# [6]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
2566
|
-
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2589
|
+
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
2567
2590
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
2568
2591
|
# [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
2569
2592
|
# [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
@@ -2653,29 +2676,32 @@ module Aws::KMS
|
|
|
2653
2676
|
#
|
|
2654
2677
|
# @option params [Types::RecipientInfo] :recipient
|
|
2655
2678
|
# 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
|
|
2679
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
2680
|
+
# public key in the attestation document. The only valid encryption
|
|
2681
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
2658
2682
|
#
|
|
2659
|
-
# This parameter
|
|
2660
|
-
#
|
|
2661
|
-
#
|
|
2683
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
2684
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
2685
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
2686
|
+
# Services NitroTPM.
|
|
2662
2687
|
#
|
|
2663
2688
|
# When you use this parameter, instead of returning the plaintext data,
|
|
2664
2689
|
# KMS encrypts the plaintext data with the public key in the attestation
|
|
2665
2690
|
# document, and returns the resulting ciphertext in the
|
|
2666
2691
|
# `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.
|
|
2692
|
+
# decrypted only with the private key in the attested environment. The
|
|
2693
|
+
# `Plaintext` field in the response is null or empty.
|
|
2669
2694
|
#
|
|
2670
2695
|
# For information about the interaction between KMS and Amazon Web
|
|
2671
|
-
# Services Nitro Enclaves
|
|
2672
|
-
#
|
|
2696
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
2697
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
2698
|
+
# Service Developer Guide*.
|
|
2673
2699
|
#
|
|
2674
2700
|
#
|
|
2675
2701
|
#
|
|
2676
2702
|
# [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
|
|
2677
2703
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
2678
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
2704
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
2679
2705
|
#
|
|
2680
2706
|
# @option params [Boolean] :dry_run
|
|
2681
2707
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
@@ -2733,11 +2759,11 @@ module Aws::KMS
|
|
|
2733
2759
|
# plaintext: "<binary data>", # The decrypted (plaintext) data.
|
|
2734
2760
|
# }
|
|
2735
2761
|
#
|
|
2736
|
-
# @example Example: To decrypt data for a Nitro enclave
|
|
2762
|
+
# @example Example: To decrypt data for a Nitro enclave or NitroTPM
|
|
2737
2763
|
#
|
|
2738
2764
|
# # 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).
|
|
2765
|
+
# # enclave or NitroTPM. Instead of returning the decrypted data in plaintext (Plaintext), the operation returns the
|
|
2766
|
+
# # decrypted data encrypted by the public key from the attestation document (CiphertextForRecipient).
|
|
2741
2767
|
#
|
|
2742
2768
|
# resp = client.decrypt({
|
|
2743
2769
|
# ciphertext_blob: "<binary data>", # The encrypted data. This ciphertext was encrypted with the KMS key
|
|
@@ -2745,7 +2771,7 @@ module Aws::KMS
|
|
|
2745
2771
|
# recipient: {
|
|
2746
2772
|
# attestation_document: "<attestation document>",
|
|
2747
2773
|
# 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
|
|
2774
|
+
# }, # 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
2775
|
# })
|
|
2750
2776
|
#
|
|
2751
2777
|
# resp.to_h outputs the following:
|
|
@@ -3071,8 +3097,8 @@ module Aws::KMS
|
|
|
3071
3097
|
|
|
3072
3098
|
# Derives a shared secret using a key agreement algorithm.
|
|
3073
3099
|
#
|
|
3074
|
-
# <note markdown="1"> You must use an asymmetric NIST-
|
|
3075
|
-
#
|
|
3100
|
+
# <note markdown="1"> You must use an asymmetric NIST-standard elliptic curve (ECC) or SM2
|
|
3101
|
+
# (China Regions only) KMS key pair with a `KeyUsage` value of
|
|
3076
3102
|
# `KEY_AGREEMENT` to call DeriveSharedSecret.
|
|
3077
3103
|
#
|
|
3078
3104
|
# </note>
|
|
@@ -3093,15 +3119,15 @@ module Aws::KMS
|
|
|
3093
3119
|
# 1. **Alice** calls CreateKey to create an asymmetric KMS key pair
|
|
3094
3120
|
# with a `KeyUsage` value of `KEY_AGREEMENT`.
|
|
3095
3121
|
#
|
|
3096
|
-
# The asymmetric KMS key must use a NIST-
|
|
3122
|
+
# The asymmetric KMS key must use a NIST-standard elliptic curve
|
|
3097
3123
|
# (ECC) or SM2 (China Regions only) key spec.
|
|
3098
3124
|
#
|
|
3099
3125
|
# 2. **Bob** creates an elliptic curve key pair.
|
|
3100
3126
|
#
|
|
3101
3127
|
# Bob can call CreateKey to create an asymmetric KMS key pair or
|
|
3102
3128
|
# generate a key pair outside of KMS. Bob's key pair must use the
|
|
3103
|
-
# same NIST-
|
|
3104
|
-
#
|
|
3129
|
+
# same NIST-standard elliptic curve (ECC) or SM2 (China Regions ony)
|
|
3130
|
+
# curve as Alice.
|
|
3105
3131
|
#
|
|
3106
3132
|
# 3. Alice and Bob **exchange their public keys** through an insecure
|
|
3107
3133
|
# communication channel (like the internet).
|
|
@@ -3128,12 +3154,12 @@ module Aws::KMS
|
|
|
3128
3154
|
# his private key and Alice's public key.
|
|
3129
3155
|
#
|
|
3130
3156
|
# To derive a shared secret you must provide a key agreement algorithm,
|
|
3131
|
-
# the private key of the caller's asymmetric NIST-
|
|
3157
|
+
# the private key of the caller's asymmetric NIST-standard elliptic
|
|
3132
3158
|
# curve or SM2 (China Regions only) KMS key pair, and the public key
|
|
3133
|
-
# from your peer's NIST-
|
|
3134
|
-
#
|
|
3135
|
-
#
|
|
3136
|
-
#
|
|
3159
|
+
# from your peer's NIST-standard elliptic curve or SM2 (China Regions
|
|
3160
|
+
# only) key pair. The public key can be from another asymmetric KMS key
|
|
3161
|
+
# pair or from a key pair generated outside of KMS, but both key pairs
|
|
3162
|
+
# must be on the same elliptic curve.
|
|
3137
3163
|
#
|
|
3138
3164
|
# The KMS key that you use for this operation must be in a compatible
|
|
3139
3165
|
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
|
@@ -3165,9 +3191,9 @@ module Aws::KMS
|
|
|
3165
3191
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
3166
3192
|
#
|
|
3167
3193
|
# @option params [required, String] :key_id
|
|
3168
|
-
# Identifies an asymmetric NIST-
|
|
3169
|
-
#
|
|
3170
|
-
#
|
|
3194
|
+
# Identifies an asymmetric NIST-standard ECC or SM2 (China Regions only)
|
|
3195
|
+
# KMS key. KMS uses the private key in the specified key pair to derive
|
|
3196
|
+
# the shared secret. The key usage of the KMS key must be
|
|
3171
3197
|
# `KEY_AGREEMENT`. To find the `KeyUsage` of a KMS key, use the
|
|
3172
3198
|
# DescribeKey operation.
|
|
3173
3199
|
#
|
|
@@ -3195,8 +3221,8 @@ module Aws::KMS
|
|
|
3195
3221
|
# secret. The only valid value is `ECDH`.
|
|
3196
3222
|
#
|
|
3197
3223
|
# @option params [required, String, StringIO, File] :public_key
|
|
3198
|
-
# Specifies the public key in your peer's NIST-
|
|
3199
|
-
#
|
|
3224
|
+
# Specifies the public key in your peer's NIST-standard elliptic curve
|
|
3225
|
+
# (ECC) or SM2 (China Regions only) key pair.
|
|
3200
3226
|
#
|
|
3201
3227
|
# The public key must be a DER-encoded X.509 public key, also known as
|
|
3202
3228
|
# `SubjectPublicKeyInfo` (SPKI), as defined in [RFC 5280][1].
|
|
@@ -3245,35 +3271,40 @@ module Aws::KMS
|
|
|
3245
3271
|
#
|
|
3246
3272
|
# @option params [Types::RecipientInfo] :recipient
|
|
3247
3273
|
# 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
|
|
3274
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
3275
|
+
# public key in the attestation document. The only valid encryption
|
|
3276
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
3250
3277
|
#
|
|
3251
3278
|
# This parameter only supports attestation documents for Amazon Web
|
|
3252
|
-
# Services Nitro Enclaves
|
|
3253
|
-
#
|
|
3254
|
-
# SDK][2]
|
|
3255
|
-
#
|
|
3256
|
-
#
|
|
3279
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
|
3280
|
+
# DeriveSharedSecret generate an attestation document use either [Amazon
|
|
3281
|
+
# Web Services Nitro Enclaves SDK][2] for an Amazon Web Services Nitro
|
|
3282
|
+
# Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon Web
|
|
3283
|
+
# Services NitroTPM. Then use the Recipient parameter from any Amazon
|
|
3284
|
+
# Web Services SDK to provide the attestation document for the attested
|
|
3285
|
+
# environment.
|
|
3257
3286
|
#
|
|
3258
3287
|
# When you use this parameter, instead of returning a plaintext copy of
|
|
3259
3288
|
# the shared secret, KMS encrypts the plaintext shared secret under the
|
|
3260
3289
|
# public key in the attestation document, and returns the resulting
|
|
3261
3290
|
# 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.
|
|
3291
|
+
# ciphertext can be decrypted only with the private key in the attested
|
|
3292
|
+
# environment. The `CiphertextBlob` field in the response contains the
|
|
3293
|
+
# encrypted shared secret derived from the KMS key specified by the
|
|
3294
|
+
# `KeyId` parameter and public key specified by the `PublicKey`
|
|
3295
|
+
# parameter. The `SharedSecret` field in the response is null or empty.
|
|
3267
3296
|
#
|
|
3268
3297
|
# For information about the interaction between KMS and Amazon Web
|
|
3269
|
-
# Services Nitro Enclaves
|
|
3270
|
-
#
|
|
3298
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
3299
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
|
3300
|
+
# Service Developer Guide*.
|
|
3271
3301
|
#
|
|
3272
3302
|
#
|
|
3273
3303
|
#
|
|
3274
3304
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
3275
3305
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
3276
|
-
# [3]: https://docs.aws.amazon.com/
|
|
3306
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
|
3307
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
3277
3308
|
#
|
|
3278
3309
|
# @return [Types::DeriveSharedSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
3279
3310
|
#
|
|
@@ -3302,6 +3333,31 @@ module Aws::KMS
|
|
|
3302
3333
|
# 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
3334
|
# }
|
|
3304
3335
|
#
|
|
3336
|
+
# @example Example: To derive a shared secret for a Nitro enclave or NitroTPM
|
|
3337
|
+
#
|
|
3338
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
3339
|
+
# # NitroTPM. Instead of returning a plaintext shared secret, DeriveSharedSecret returns the shared secret encrypted by the
|
|
3340
|
+
# # public key from the attestation document.
|
|
3341
|
+
#
|
|
3342
|
+
# resp = client.derive_shared_secret({
|
|
3343
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret. The only valid value is ECDH.
|
|
3344
|
+
# 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.
|
|
3345
|
+
# public_key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag", # The public key in your peer's asymmetric key pair.
|
|
3346
|
+
# recipient: {
|
|
3347
|
+
# attestation_document: "<attestation document>",
|
|
3348
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256",
|
|
3349
|
+
# }, # Specifies the attestation document from the Nitro enclave or NitroTPM and the encryption algorithm to use with the public key from the attestation document
|
|
3350
|
+
# })
|
|
3351
|
+
#
|
|
3352
|
+
# resp.to_h outputs the following:
|
|
3353
|
+
# {
|
|
3354
|
+
# ciphertext_for_recipient: "<binary data>", # The shared secret encrypted by the public key from the attestation document
|
|
3355
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret.
|
|
3356
|
+
# 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.
|
|
3357
|
+
# key_origin: "AWS_KMS", # The source of the key material for the specified KMS key.
|
|
3358
|
+
# shared_secret: "", # This field is null or empty
|
|
3359
|
+
# }
|
|
3360
|
+
#
|
|
3305
3361
|
# @example Request syntax with placeholder values
|
|
3306
3362
|
#
|
|
3307
3363
|
# resp = client.derive_shared_secret({
|
|
@@ -3556,6 +3612,7 @@ module Aws::KMS
|
|
|
3556
3612
|
# resp.custom_key_stores[0].xks_proxy_configuration.uri_endpoint #=> String
|
|
3557
3613
|
# resp.custom_key_stores[0].xks_proxy_configuration.uri_path #=> String
|
|
3558
3614
|
# resp.custom_key_stores[0].xks_proxy_configuration.vpc_endpoint_service_name #=> String
|
|
3615
|
+
# resp.custom_key_stores[0].xks_proxy_configuration.vpc_endpoint_service_owner #=> String
|
|
3559
3616
|
# resp.next_marker #=> String
|
|
3560
3617
|
# resp.truncated #=> Boolean
|
|
3561
3618
|
#
|
|
@@ -3929,11 +3986,11 @@ module Aws::KMS
|
|
|
3929
3986
|
# resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
3930
3987
|
# resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
3931
3988
|
# resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
3932
|
-
# resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
|
|
3989
|
+
# resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87", "ECC_NIST_EDWARDS25519"
|
|
3933
3990
|
# resp.key_metadata.encryption_algorithms #=> Array
|
|
3934
3991
|
# resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
3935
3992
|
# resp.key_metadata.signing_algorithms #=> Array
|
|
3936
|
-
# resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
|
|
3993
|
+
# resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
3937
3994
|
# resp.key_metadata.key_agreement_algorithms #=> Array
|
|
3938
3995
|
# resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
3939
3996
|
# resp.key_metadata.multi_region #=> Boolean
|
|
@@ -4740,16 +4797,17 @@ module Aws::KMS
|
|
|
4740
4797
|
# `GenerateDataKey` also supports [Amazon Web Services Nitro
|
|
4741
4798
|
# Enclaves][2], which provide an isolated compute environment in Amazon
|
|
4742
4799
|
# 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
|
-
#
|
|
4800
|
+
# enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
|
|
4801
|
+
# SDK][3] or any Amazon Web Services SDK. Use the `Recipient` parameter
|
|
4802
|
+
# to provide the attestation document for the attested environment.
|
|
4803
|
+
# `GenerateDataKey` returns a copy of the data key encrypted under the
|
|
4804
|
+
# specified KMS key, as usual. But instead of a plaintext copy of the
|
|
4805
|
+
# data key, the response includes a copy of the data key encrypted under
|
|
4806
|
+
# the public key from the attestation document
|
|
4807
|
+
# (`CiphertextForRecipient`). For information about the interaction
|
|
4808
|
+
# between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
|
|
4809
|
+
# Services NitroTPM, see [Cryptographic attestation support in KMS][4]
|
|
4810
|
+
# in the *Key Management Service Developer Guide*.
|
|
4753
4811
|
#
|
|
4754
4812
|
# The KMS key that you use for this operation must be in a compatible
|
|
4755
4813
|
# key state. For details, see [Key states of KMS keys][5] in the *Key
|
|
@@ -4808,7 +4866,7 @@ module Aws::KMS
|
|
|
4808
4866
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
4809
4867
|
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
4810
4868
|
# [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
4811
|
-
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4869
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
4812
4870
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
4813
4871
|
# [6]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
|
|
4814
4872
|
# [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
|
|
@@ -4896,12 +4954,14 @@ module Aws::KMS
|
|
|
4896
4954
|
#
|
|
4897
4955
|
# @option params [Types::RecipientInfo] :recipient
|
|
4898
4956
|
# 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
|
|
4957
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
4958
|
+
# public key in the attestation document. The only valid encryption
|
|
4959
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
4901
4960
|
#
|
|
4902
|
-
# This parameter
|
|
4903
|
-
#
|
|
4904
|
-
#
|
|
4961
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
4962
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
4963
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
4964
|
+
# Services NitroTPM.
|
|
4905
4965
|
#
|
|
4906
4966
|
# When you use this parameter, instead of returning the plaintext data
|
|
4907
4967
|
# key, KMS encrypts the plaintext data key under the public key in the
|
|
@@ -4913,14 +4973,15 @@ module Aws::KMS
|
|
|
4913
4973
|
# `Plaintext` field in the response is null or empty.
|
|
4914
4974
|
#
|
|
4915
4975
|
# For information about the interaction between KMS and Amazon Web
|
|
4916
|
-
# Services Nitro Enclaves
|
|
4917
|
-
#
|
|
4976
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
4977
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
4978
|
+
# Service Developer Guide*.
|
|
4918
4979
|
#
|
|
4919
4980
|
#
|
|
4920
4981
|
#
|
|
4921
4982
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
4922
4983
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
4923
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
4984
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
4924
4985
|
#
|
|
4925
4986
|
# @option params [Boolean] :dry_run
|
|
4926
4987
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
@@ -4960,10 +5021,10 @@ module Aws::KMS
|
|
|
4960
5021
|
# plaintext: "<binary data>", # The unencrypted (plaintext) data key.
|
|
4961
5022
|
# }
|
|
4962
5023
|
#
|
|
4963
|
-
# @example Example: To generate a data key
|
|
5024
|
+
# @example Example: To generate a data key for a Nitro enclave or NitroTPM
|
|
4964
5025
|
#
|
|
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,
|
|
5026
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
5027
|
+
# # NitroTPM. Instead of returning a copy of the data key encrypted by the KMS key and a plaintext copy of the data key,
|
|
4967
5028
|
# # GenerateDataKey returns one copy of the data key encrypted by the KMS key (CiphertextBlob) and one copy of the data key
|
|
4968
5029
|
# # encrypted by the public key from the attestation document (CiphertextForRecipient). The operation doesn't return a
|
|
4969
5030
|
# # plaintext data key.
|
|
@@ -4974,7 +5035,7 @@ module Aws::KMS
|
|
|
4974
5035
|
# recipient: {
|
|
4975
5036
|
# attestation_document: "<attestation document>",
|
|
4976
5037
|
# 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
|
|
5038
|
+
# }, # 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
5039
|
# })
|
|
4979
5040
|
#
|
|
4980
5041
|
# resp.to_h outputs the following:
|
|
@@ -5065,17 +5126,18 @@ module Aws::KMS
|
|
|
5065
5126
|
# `GenerateDataKeyPair` also supports [Amazon Web Services Nitro
|
|
5066
5127
|
# Enclaves][3], which provide an isolated compute environment in Amazon
|
|
5067
5128
|
# 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
|
-
#
|
|
5129
|
+
# enclave or NitroTPM, use the [Amazon Web Services Nitro Enclaves
|
|
5130
|
+
# SDK][4] or any Amazon Web Services SDK. Use the `Recipient` parameter
|
|
5131
|
+
# to provide the attestation document for the attested environment.
|
|
5132
|
+
# `GenerateDataKeyPair` returns the public data key and a copy of the
|
|
5133
|
+
# private data key encrypted under the specified KMS key, as usual. But
|
|
5134
|
+
# instead of a plaintext copy of the private data key
|
|
5135
|
+
# (`PrivateKeyPlaintext`), the response includes a copy of the private
|
|
5136
|
+
# data key encrypted under the public key from the attestation document
|
|
5137
|
+
# (`CiphertextForRecipient`). For information about the interaction
|
|
5138
|
+
# between KMS and Amazon Web Services Nitro Enclaves or Amazon Web
|
|
5139
|
+
# Services NitroTPM, see [Cryptographic attestation support in KMS][5]
|
|
5140
|
+
# in the *Key Management Service Developer Guide*.
|
|
5079
5141
|
#
|
|
5080
5142
|
# You can use an optional encryption context to add additional security
|
|
5081
5143
|
# to the encryption operation. If you specify an `EncryptionContext`,
|
|
@@ -5116,7 +5178,7 @@ module Aws::KMS
|
|
|
5116
5178
|
# [2]: https://tools.ietf.org/html/rfc5958
|
|
5117
5179
|
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
5118
5180
|
# [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5119
|
-
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
5181
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5120
5182
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
|
|
5121
5183
|
# [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
|
5122
5184
|
# [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
@@ -5195,35 +5257,40 @@ module Aws::KMS
|
|
|
5195
5257
|
#
|
|
5196
5258
|
# @option params [Types::RecipientInfo] :recipient
|
|
5197
5259
|
# 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
|
|
5260
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
5261
|
+
# public key in the attestation document. The only valid encryption
|
|
5262
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
5200
5263
|
#
|
|
5201
5264
|
# This parameter only supports attestation documents for Amazon Web
|
|
5202
|
-
# Services Nitro Enclaves
|
|
5203
|
-
#
|
|
5204
|
-
# SDK][2]
|
|
5205
|
-
#
|
|
5206
|
-
#
|
|
5265
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM. To call
|
|
5266
|
+
# GenerateDataKeyPair generate an attestation document use either
|
|
5267
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] for an Amazon Web Services
|
|
5268
|
+
# Nitro Enclaves or [Amazon Web Services NitroTPM tools][3] for Amazon
|
|
5269
|
+
# Web Services NitroTPM. Then use the Recipient parameter from any
|
|
5270
|
+
# Amazon Web Services SDK to provide the attestation document for the
|
|
5271
|
+
# attested environment.
|
|
5207
5272
|
#
|
|
5208
5273
|
# When you use this parameter, instead of returning a plaintext copy of
|
|
5209
5274
|
# the private data key, KMS encrypts the plaintext private data key
|
|
5210
5275
|
# under the public key in the attestation document, and returns the
|
|
5211
5276
|
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
|
5212
5277
|
# 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.
|
|
5278
|
+
# in the attested environment. The `CiphertextBlob` field in the
|
|
5279
|
+
# response contains a copy of the private data key encrypted under the
|
|
5280
|
+
# KMS key specified by the `KeyId` parameter. The `PrivateKeyPlaintext`
|
|
5281
|
+
# field in the response is null or empty.
|
|
5217
5282
|
#
|
|
5218
5283
|
# For information about the interaction between KMS and Amazon Web
|
|
5219
|
-
# Services Nitro Enclaves
|
|
5220
|
-
#
|
|
5284
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
5285
|
+
# [Cryptographic attestation support in KMS][4] in the *Key Management
|
|
5286
|
+
# Service Developer Guide*.
|
|
5221
5287
|
#
|
|
5222
5288
|
#
|
|
5223
5289
|
#
|
|
5224
5290
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
5225
5291
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5226
|
-
# [3]: https://docs.aws.amazon.com/
|
|
5292
|
+
# [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html
|
|
5293
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5227
5294
|
#
|
|
5228
5295
|
# @option params [Boolean] :dry_run
|
|
5229
5296
|
# Checks if your request will succeed. `DryRun` is an optional
|
|
@@ -5267,13 +5334,13 @@ module Aws::KMS
|
|
|
5267
5334
|
# public_key: "<binary data>", # The public key (plaintext) of the RSA data key pair.
|
|
5268
5335
|
# }
|
|
5269
5336
|
#
|
|
5270
|
-
# @example Example: To generate a data key pair for a Nitro enclave
|
|
5337
|
+
# @example Example: To generate a data key pair for a Nitro enclave or NitroTPM
|
|
5271
5338
|
#
|
|
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.
|
|
5339
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
5340
|
+
# # NitroTPM. Instead of returning a plaintext copy of the private data key, GenerateDataKeyPair returns a copy of the
|
|
5341
|
+
# # private data key encrypted by the public key from the attestation document (CiphertextForRecipient). It returns the
|
|
5342
|
+
# # public data key (PublicKey) and a copy of private data key encrypted under the specified KMS key
|
|
5343
|
+
# # (PrivateKeyCiphertextBlob), as usual, but plaintext private data key field (PrivateKeyPlaintext) is null or empty.
|
|
5277
5344
|
#
|
|
5278
5345
|
# resp = client.generate_data_key_pair({
|
|
5279
5346
|
# 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 +5348,7 @@ module Aws::KMS
|
|
|
5281
5348
|
# recipient: {
|
|
5282
5349
|
# attestation_document: "<attestation document>",
|
|
5283
5350
|
# 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.
|
|
5351
|
+
# }, # 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
5352
|
# })
|
|
5286
5353
|
#
|
|
5287
5354
|
# resp.to_h outputs the following:
|
|
@@ -5302,7 +5369,7 @@ module Aws::KMS
|
|
|
5302
5369
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
|
5303
5370
|
# },
|
|
5304
5371
|
# key_id: "KeyIdType", # required
|
|
5305
|
-
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
|
|
5372
|
+
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2, ECC_NIST_EDWARDS25519
|
|
5306
5373
|
# grant_tokens: ["GrantTokenType"],
|
|
5307
5374
|
# recipient: {
|
|
5308
5375
|
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
|
@@ -5317,7 +5384,7 @@ module Aws::KMS
|
|
|
5317
5384
|
# resp.private_key_plaintext #=> String
|
|
5318
5385
|
# resp.public_key #=> String
|
|
5319
5386
|
# resp.key_id #=> String
|
|
5320
|
-
# resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2"
|
|
5387
|
+
# resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2", "ECC_NIST_EDWARDS25519"
|
|
5321
5388
|
# resp.ciphertext_for_recipient #=> String
|
|
5322
5389
|
# resp.key_material_id #=> String
|
|
5323
5390
|
#
|
|
@@ -5520,7 +5587,7 @@ module Aws::KMS
|
|
|
5520
5587
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
|
5521
5588
|
# },
|
|
5522
5589
|
# key_id: "KeyIdType", # required
|
|
5523
|
-
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
|
|
5590
|
+
# key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2, ECC_NIST_EDWARDS25519
|
|
5524
5591
|
# grant_tokens: ["GrantTokenType"],
|
|
5525
5592
|
# dry_run: false,
|
|
5526
5593
|
# })
|
|
@@ -5530,7 +5597,7 @@ module Aws::KMS
|
|
|
5530
5597
|
# resp.private_key_ciphertext_blob #=> String
|
|
5531
5598
|
# resp.public_key #=> String
|
|
5532
5599
|
# resp.key_id #=> String
|
|
5533
|
-
# resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2"
|
|
5600
|
+
# resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2", "ECC_NIST_EDWARDS25519"
|
|
5534
5601
|
# resp.key_material_id #=> String
|
|
5535
5602
|
#
|
|
5536
5603
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext AWS API Documentation
|
|
@@ -5917,15 +5984,15 @@ module Aws::KMS
|
|
|
5917
5984
|
#
|
|
5918
5985
|
# `GenerateRandom` also supports [Amazon Web Services Nitro
|
|
5919
5986
|
# 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*.
|
|
5987
|
+
# EC2. To call `GenerateRandom` for a Nitro enclave or NitroTPM, use the
|
|
5988
|
+
# [Amazon Web Services Nitro Enclaves SDK][2] or any Amazon Web Services
|
|
5989
|
+
# SDK. Use the `Recipient` parameter to provide the attestation document
|
|
5990
|
+
# for the attested environment. Instead of plaintext bytes, the response
|
|
5991
|
+
# includes the plaintext bytes encrypted under the public key from the
|
|
5992
|
+
# attestation document (`CiphertextForRecipient`). For information about
|
|
5993
|
+
# the interaction between KMS and Amazon Web Services Nitro Enclaves or
|
|
5994
|
+
# Amazon Web Services NitroTPM, see [Cryptographic attestation support
|
|
5995
|
+
# in KMS][3] in the *Key Management Service Developer Guide*.
|
|
5929
5996
|
#
|
|
5930
5997
|
# For more information about entropy and random number generation, see
|
|
5931
5998
|
# [Entropy and random number generation][4] in the *Key Management
|
|
@@ -5943,7 +6010,7 @@ module Aws::KMS
|
|
|
5943
6010
|
#
|
|
5944
6011
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
|
|
5945
6012
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5946
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6013
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5947
6014
|
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers
|
|
5948
6015
|
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
|
5949
6016
|
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
|
|
@@ -5962,29 +6029,32 @@ module Aws::KMS
|
|
|
5962
6029
|
#
|
|
5963
6030
|
# @option params [Types::RecipientInfo] :recipient
|
|
5964
6031
|
# 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
|
|
6032
|
+
# enclave or NitroTPM, and the encryption algorithm to use with the
|
|
6033
|
+
# public key in the attestation document. The only valid encryption
|
|
6034
|
+
# algorithm is `RSAES_OAEP_SHA_256`.
|
|
5967
6035
|
#
|
|
5968
|
-
# This parameter
|
|
5969
|
-
#
|
|
5970
|
-
#
|
|
6036
|
+
# This parameter supports the [Amazon Web Services Nitro Enclaves
|
|
6037
|
+
# SDK][2] or any Amazon Web Services SDK for Amazon Web Services Nitro
|
|
6038
|
+
# Enclaves. It supports any Amazon Web Services SDK for Amazon Web
|
|
6039
|
+
# Services NitroTPM.
|
|
5971
6040
|
#
|
|
5972
6041
|
# When you use this parameter, instead of returning plaintext bytes, KMS
|
|
5973
6042
|
# encrypts the plaintext bytes under the public key in the attestation
|
|
5974
6043
|
# document, and returns the resulting ciphertext in the
|
|
5975
6044
|
# `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.
|
|
6045
|
+
# decrypted only with the private key in the attested environment. The
|
|
6046
|
+
# `Plaintext` field in the response is null or empty.
|
|
5978
6047
|
#
|
|
5979
6048
|
# For information about the interaction between KMS and Amazon Web
|
|
5980
|
-
# Services Nitro Enclaves
|
|
5981
|
-
#
|
|
6049
|
+
# Services Nitro Enclaves or Amazon Web Services NitroTPM, see
|
|
6050
|
+
# [Cryptographic attestation support in KMS][3] in the *Key Management
|
|
6051
|
+
# Service Developer Guide*.
|
|
5982
6052
|
#
|
|
5983
6053
|
#
|
|
5984
6054
|
#
|
|
5985
6055
|
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
|
5986
6056
|
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
|
5987
|
-
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
|
6057
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/cryptographic-attestation.html
|
|
5988
6058
|
#
|
|
5989
6059
|
# @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
5990
6060
|
#
|
|
@@ -6005,18 +6075,18 @@ module Aws::KMS
|
|
|
6005
6075
|
# plaintext: "<binary data>", # The random data.
|
|
6006
6076
|
# }
|
|
6007
6077
|
#
|
|
6008
|
-
# @example Example: To generate random data
|
|
6078
|
+
# @example Example: To generate random data for a Nitro enclave or NitroTPM
|
|
6009
6079
|
#
|
|
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
|
|
6080
|
+
# # The following example includes the Recipient parameter with a signed attestation document from an AWS Nitro enclave or
|
|
6081
|
+
# # NitroTPM. Instead of returning a plaintext (unencrypted) byte string, GenerateRandom returns the byte string encrypted
|
|
6082
|
+
# # by the public key from the attestation document.
|
|
6013
6083
|
#
|
|
6014
6084
|
# resp = client.generate_random({
|
|
6015
6085
|
# number_of_bytes: 1024, # The length of the random byte string
|
|
6016
6086
|
# recipient: {
|
|
6017
6087
|
# attestation_document: "<attestation document>",
|
|
6018
6088
|
# 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
|
|
6089
|
+
# }, # 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
6090
|
# })
|
|
6021
6091
|
#
|
|
6022
6092
|
# resp.to_h outputs the following:
|
|
@@ -6691,12 +6761,12 @@ module Aws::KMS
|
|
|
6691
6761
|
# resp.key_id #=> String
|
|
6692
6762
|
# resp.public_key #=> String
|
|
6693
6763
|
# resp.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
6694
|
-
# resp.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
|
|
6764
|
+
# resp.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87", "ECC_NIST_EDWARDS25519"
|
|
6695
6765
|
# resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
|
|
6696
6766
|
# resp.encryption_algorithms #=> Array
|
|
6697
6767
|
# resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
6698
6768
|
# resp.signing_algorithms #=> Array
|
|
6699
|
-
# resp.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
|
|
6769
|
+
# resp.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
6700
6770
|
# resp.key_agreement_algorithms #=> Array
|
|
6701
6771
|
# resp.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
6702
6772
|
#
|
|
@@ -8869,11 +8939,11 @@ module Aws::KMS
|
|
|
8869
8939
|
# resp.replica_key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
|
|
8870
8940
|
# resp.replica_key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
|
|
8871
8941
|
# resp.replica_key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
|
|
8872
|
-
# resp.replica_key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
|
|
8942
|
+
# resp.replica_key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87", "ECC_NIST_EDWARDS25519"
|
|
8873
8943
|
# resp.replica_key_metadata.encryption_algorithms #=> Array
|
|
8874
8944
|
# resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
|
8875
8945
|
# resp.replica_key_metadata.signing_algorithms #=> Array
|
|
8876
|
-
# resp.replica_key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
|
|
8946
|
+
# resp.replica_key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
8877
8947
|
# resp.replica_key_metadata.key_agreement_algorithms #=> Array
|
|
8878
8948
|
# resp.replica_key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
|
8879
8949
|
# resp.replica_key_metadata.multi_region #=> Boolean
|
|
@@ -9546,6 +9616,13 @@ module Aws::KMS
|
|
|
9546
9616
|
# with an unhashed message, the security of the signing operation can be
|
|
9547
9617
|
# compromised.
|
|
9548
9618
|
#
|
|
9619
|
+
# When using ECC\_NIST\_EDWARDS25519 KMS keys:
|
|
9620
|
+
#
|
|
9621
|
+
# * ED25519\_SHA\_512 signing algorithm requires KMS `MessageType:RAW`
|
|
9622
|
+
#
|
|
9623
|
+
# * ED25519\_PH\_SHA\_512 signing algorithm requires KMS
|
|
9624
|
+
# `MessageType:DIGEST`
|
|
9625
|
+
#
|
|
9549
9626
|
# When the value of `MessageType` is `DIGEST`, the length of the
|
|
9550
9627
|
# `Message` value must match the length of hashed messages for the
|
|
9551
9628
|
# specified signing algorithm.
|
|
@@ -9665,7 +9742,7 @@ module Aws::KMS
|
|
|
9665
9742
|
# message: "data", # required
|
|
9666
9743
|
# message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
|
|
9667
9744
|
# grant_tokens: ["GrantTokenType"],
|
|
9668
|
-
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA, ML_DSA_SHAKE_256
|
|
9745
|
+
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA, ML_DSA_SHAKE_256, ED25519_SHA_512, ED25519_PH_SHA_512
|
|
9669
9746
|
# dry_run: false,
|
|
9670
9747
|
# })
|
|
9671
9748
|
#
|
|
@@ -9673,7 +9750,7 @@ module Aws::KMS
|
|
|
9673
9750
|
#
|
|
9674
9751
|
# resp.key_id #=> String
|
|
9675
9752
|
# resp.signature #=> String
|
|
9676
|
-
# resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
|
|
9753
|
+
# resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
9677
9754
|
#
|
|
9678
9755
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign AWS API Documentation
|
|
9679
9756
|
#
|
|
@@ -10240,6 +10317,15 @@ module Aws::KMS
|
|
|
10240
10317
|
#
|
|
10241
10318
|
# To change this value, the external key store must be disconnected.
|
|
10242
10319
|
#
|
|
10320
|
+
# @option params [String] :xks_proxy_vpc_endpoint_service_owner
|
|
10321
|
+
# Changes the Amazon Web Services account ID that KMS uses to identify
|
|
10322
|
+
# the Amazon VPC endpoint service for your external key store proxy (XKS
|
|
10323
|
+
# proxy). This parameter is optional. If not specified, the current
|
|
10324
|
+
# Amazon Web Services account ID for the VPC endpoint service will not
|
|
10325
|
+
# be updated.
|
|
10326
|
+
#
|
|
10327
|
+
# To change this value, the external key store must be disconnected.
|
|
10328
|
+
#
|
|
10243
10329
|
# @option params [Types::XksProxyAuthenticationCredentialType] :xks_proxy_authentication_credential
|
|
10244
10330
|
# Changes the credentials that KMS uses to sign requests to the external
|
|
10245
10331
|
# key store proxy (XKS proxy). This parameter is valid only for custom
|
|
@@ -10381,6 +10467,7 @@ module Aws::KMS
|
|
|
10381
10467
|
# xks_proxy_uri_endpoint: "XksProxyUriEndpointType",
|
|
10382
10468
|
# xks_proxy_uri_path: "XksProxyUriPathType",
|
|
10383
10469
|
# xks_proxy_vpc_endpoint_service_name: "XksProxyVpcEndpointServiceNameType",
|
|
10470
|
+
# xks_proxy_vpc_endpoint_service_owner: "AccountIdType",
|
|
10384
10471
|
# xks_proxy_authentication_credential: {
|
|
10385
10472
|
# access_key_id: "XksProxyAuthenticationAccessKeyIdType", # required
|
|
10386
10473
|
# raw_secret_access_key: "XksProxyAuthenticationRawSecretAccessKeyType", # required
|
|
@@ -10732,6 +10819,13 @@ module Aws::KMS
|
|
|
10732
10819
|
# with an unhashed message, the security of the signing operation can be
|
|
10733
10820
|
# compromised.
|
|
10734
10821
|
#
|
|
10822
|
+
# When using ECC\_NIST\_EDWARDS25519 KMS keys:
|
|
10823
|
+
#
|
|
10824
|
+
# * ED25519\_SHA\_512 signing algorithm requires KMS `MessageType:RAW`
|
|
10825
|
+
#
|
|
10826
|
+
# * ED25519\_PH\_SHA\_512 signing algorithm requires KMS
|
|
10827
|
+
# `MessageType:DIGEST`
|
|
10828
|
+
#
|
|
10735
10829
|
# When the value of `MessageType` is `DIGEST`, the length of the
|
|
10736
10830
|
# `Message` value must match the length of hashed messages for the
|
|
10737
10831
|
# specified signing algorithm.
|
|
@@ -10852,7 +10946,7 @@ module Aws::KMS
|
|
|
10852
10946
|
# message: "data", # required
|
|
10853
10947
|
# message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
|
|
10854
10948
|
# signature: "data", # required
|
|
10855
|
-
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA, ML_DSA_SHAKE_256
|
|
10949
|
+
# signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA, ML_DSA_SHAKE_256, ED25519_SHA_512, ED25519_PH_SHA_512
|
|
10856
10950
|
# grant_tokens: ["GrantTokenType"],
|
|
10857
10951
|
# dry_run: false,
|
|
10858
10952
|
# })
|
|
@@ -10861,7 +10955,7 @@ module Aws::KMS
|
|
|
10861
10955
|
#
|
|
10862
10956
|
# resp.key_id #=> String
|
|
10863
10957
|
# resp.signature_valid #=> Boolean
|
|
10864
|
-
# resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256"
|
|
10958
|
+
# resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA", "ML_DSA_SHAKE_256", "ED25519_SHA_512", "ED25519_PH_SHA_512"
|
|
10865
10959
|
#
|
|
10866
10960
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify AWS API Documentation
|
|
10867
10961
|
#
|
|
@@ -11030,7 +11124,7 @@ module Aws::KMS
|
|
|
11030
11124
|
tracer: tracer
|
|
11031
11125
|
)
|
|
11032
11126
|
context[:gem_name] = 'aws-sdk-kms'
|
|
11033
|
-
context[:gem_version] = '1.
|
|
11127
|
+
context[:gem_version] = '1.117.0'
|
|
11034
11128
|
Seahorse::Client::Request.new(handlers, context)
|
|
11035
11129
|
end
|
|
11036
11130
|
|