aws-sdk-kms 1.81.0 → 1.87.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-kms/client.rb +326 -38
- data/lib/aws-sdk-kms/client_api.rb +42 -0
- data/lib/aws-sdk-kms/endpoints.rb +14 -0
- data/lib/aws-sdk-kms/plugins/endpoints.rb +2 -0
- data/lib/aws-sdk-kms/types.rb +231 -19
- data/lib/aws-sdk-kms.rb +1 -1
- data/sig/client.rbs +28 -5
- data/sig/types.rbs +28 -7
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50000251533fd20e204e3e643e931c1f97e125cd570a88839fca5311828703de
|
4
|
+
data.tar.gz: d560150d4ad044e5f11a9ceb445673861f3d68100f0ed163a87ff8af673a7da8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f611f853c420c0344493c91e962fc1f6f471b279731aab9247e9189c934e53c4cb264a09a4b51890162b0d4cd82ee8995dd948254ec4ff1aaff79a8d1a28a17
|
7
|
+
data.tar.gz: 9db4f65ab02a1d3be6cbcffd54536388b936c0d1038e3dedf754880d773038f1dd8593f5f573c06e9ff00dec2df62bc9cc5eba8462e459a2f9225713453f4273
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,36 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.87.0 (2024-06-25)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
8
|
+
|
9
|
+
1.86.0 (2024-06-24)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
13
|
+
|
14
|
+
1.85.0 (2024-06-17)
|
15
|
+
------------------
|
16
|
+
|
17
|
+
* Feature - Updating SDK example for KMS DeriveSharedSecret API.
|
18
|
+
|
19
|
+
1.84.0 (2024-06-13)
|
20
|
+
------------------
|
21
|
+
|
22
|
+
* Feature - This feature allows customers to use their keys stored in KMS to derive a shared secret which can then be used to establish a secured channel for communication, provide proof of possession, or establish trust with other parties.
|
23
|
+
|
24
|
+
1.83.0 (2024-06-05)
|
25
|
+
------------------
|
26
|
+
|
27
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
28
|
+
|
29
|
+
1.82.0 (2024-05-22)
|
30
|
+
------------------
|
31
|
+
|
32
|
+
* Feature - This release includes feature to import customer's asymmetric (RSA, ECC and SM2) and HMAC keys into KMS in China.
|
33
|
+
|
4
34
|
1.81.0 (2024-05-13)
|
5
35
|
------------------
|
6
36
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.87.0
|
data/lib/aws-sdk-kms/client.rb
CHANGED
@@ -89,6 +89,11 @@ module Aws::KMS
|
|
89
89
|
|
90
90
|
# @overload initialize(options)
|
91
91
|
# @param [Hash] options
|
92
|
+
#
|
93
|
+
# @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
|
94
|
+
# A list of plugins to apply to the client. Each plugin is either a
|
95
|
+
# class name or an instance of a plugin class.
|
96
|
+
#
|
92
97
|
# @option options [required, Aws::CredentialProvider] :credentials
|
93
98
|
# Your AWS credentials. This can be an instance of any one of the
|
94
99
|
# following classes:
|
@@ -209,7 +214,6 @@ module Aws::KMS
|
|
209
214
|
# 'https://example.com'
|
210
215
|
# 'http://example.com:123'
|
211
216
|
#
|
212
|
-
#
|
213
217
|
# @option options [Integer] :endpoint_cache_max_entries (1000)
|
214
218
|
# Used for the maximum size limit of the LRU cache storing endpoints data
|
215
219
|
# for endpoint discovery enabled operations. Defaults to 1000.
|
@@ -298,7 +302,6 @@ module Aws::KMS
|
|
298
302
|
# throttling. This is a provisional mode that may change behavior
|
299
303
|
# in the future.
|
300
304
|
#
|
301
|
-
#
|
302
305
|
# @option options [String] :sdk_ua_app_id
|
303
306
|
# A unique and opaque application ID that is appended to the
|
304
307
|
# User-Agent header as app/sdk_ua_app_id. It should have a
|
@@ -311,13 +314,10 @@ module Aws::KMS
|
|
311
314
|
#
|
312
315
|
# @option options [Boolean] :simple_json (false)
|
313
316
|
# Disables request parameter conversion, validation, and formatting.
|
314
|
-
# Also
|
315
|
-
#
|
316
|
-
#
|
317
|
-
# structures.
|
318
|
-
#
|
319
|
-
# When `:simple_json` is enabled, the request parameters hash must
|
320
|
-
# be formatted exactly as the DynamoDB API expects.
|
317
|
+
# Also disables response data type conversions. The request parameters
|
318
|
+
# hash must be formatted exactly as the API expects.This option is useful
|
319
|
+
# when you want to ensure the highest level of performance by avoiding
|
320
|
+
# overhead of walking request parameters and response data structures.
|
321
321
|
#
|
322
322
|
# @option options [Boolean] :stub_responses (false)
|
323
323
|
# Causes the client to return stubbed responses. By default
|
@@ -1421,7 +1421,7 @@ module Aws::KMS
|
|
1421
1421
|
# key_id: "KeyIdType", # required
|
1422
1422
|
# grantee_principal: "PrincipalIdType", # required
|
1423
1423
|
# retiring_principal: "PrincipalIdType",
|
1424
|
-
# operations: ["Decrypt"], # required, accepts Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext, ReEncryptFrom, ReEncryptTo, Sign, Verify, GetPublicKey, CreateGrant, RetireGrant, DescribeKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, GenerateMac, VerifyMac
|
1424
|
+
# operations: ["Decrypt"], # required, accepts Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext, ReEncryptFrom, ReEncryptTo, Sign, Verify, GetPublicKey, CreateGrant, RetireGrant, DescribeKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, GenerateMac, VerifyMac, DeriveSharedSecret
|
1425
1425
|
# constraints: {
|
1426
1426
|
# encryption_context_subset: {
|
1427
1427
|
# "EncryptionContextKey" => "EncryptionContextValue",
|
@@ -1508,12 +1508,17 @@ module Aws::KMS
|
|
1508
1508
|
# key pair, or an SM2 key pair (China Regions only). The private key
|
1509
1509
|
# in an asymmetric KMS key never leaves KMS unencrypted. However, you
|
1510
1510
|
# can use the GetPublicKey operation to download the public key so it
|
1511
|
-
# can be used outside of KMS. KMS
|
1512
|
-
#
|
1513
|
-
#
|
1514
|
-
#
|
1515
|
-
#
|
1516
|
-
#
|
1511
|
+
# can be used outside of KMS. Each KMS key can have only one key
|
1512
|
+
# usage. KMS keys with RSA key pairs can be used to encrypt and
|
1513
|
+
# decrypt data or sign and verify messages (but not both). KMS keys
|
1514
|
+
# with NIST-recommended ECC key pairs can be used to sign and verify
|
1515
|
+
# messages or derive shared secrets (but not both). KMS keys with
|
1516
|
+
# `ECC_SECG_P256K1` can be used only to sign and verify messages. KMS
|
1517
|
+
# keys with SM2 key pairs (China Regions only) can be used to either
|
1518
|
+
# encrypt and decrypt data, sign and verify messages, or derive shared
|
1519
|
+
# secrets (you must choose one key usage type). For information about
|
1520
|
+
# asymmetric KMS keys, see [Asymmetric KMS keys][3] in the *Key
|
1521
|
+
# Management Service Developer Guide*.
|
1517
1522
|
#
|
1518
1523
|
#
|
1519
1524
|
#
|
@@ -1735,14 +1740,17 @@ module Aws::KMS
|
|
1735
1740
|
#
|
1736
1741
|
# * For HMAC KMS keys (symmetric), specify `GENERATE_VERIFY_MAC`.
|
1737
1742
|
#
|
1738
|
-
# * For asymmetric KMS keys with RSA key
|
1743
|
+
# * For asymmetric KMS keys with RSA key pairs, specify
|
1739
1744
|
# `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
|
1740
1745
|
#
|
1741
|
-
# * For asymmetric KMS keys with
|
1746
|
+
# * For asymmetric KMS keys with NIST-recommended elliptic curve key
|
1747
|
+
# pairs, specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
|
1748
|
+
#
|
1749
|
+
# * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs specify
|
1742
1750
|
# `SIGN_VERIFY`.
|
1743
1751
|
#
|
1744
|
-
# * For asymmetric KMS keys with SM2 key
|
1745
|
-
# specify `ENCRYPT_DECRYPT` or `
|
1752
|
+
# * For asymmetric KMS keys with SM2 key pairs (China Regions only),
|
1753
|
+
# specify `ENCRYPT_DECRYPT`, `SIGN_VERIFY`, or `KEY_AGREEMENT`.
|
1746
1754
|
#
|
1747
1755
|
#
|
1748
1756
|
#
|
@@ -1795,7 +1803,8 @@ module Aws::KMS
|
|
1795
1803
|
#
|
1796
1804
|
# * `HMAC_512`
|
1797
1805
|
#
|
1798
|
-
# * Asymmetric RSA key pairs
|
1806
|
+
# * Asymmetric RSA key pairs (encryption and decryption -or- signing and
|
1807
|
+
# verification)
|
1799
1808
|
#
|
1800
1809
|
# * `RSA_2048`
|
1801
1810
|
#
|
@@ -1803,7 +1812,8 @@ module Aws::KMS
|
|
1803
1812
|
#
|
1804
1813
|
# * `RSA_4096`
|
1805
1814
|
#
|
1806
|
-
# * Asymmetric NIST-recommended elliptic curve key pairs
|
1815
|
+
# * Asymmetric NIST-recommended elliptic curve key pairs (signing and
|
1816
|
+
# verification -or- deriving shared secrets)
|
1807
1817
|
#
|
1808
1818
|
# * `ECC_NIST_P256` (secp256r1)
|
1809
1819
|
#
|
@@ -1811,15 +1821,16 @@ module Aws::KMS
|
|
1811
1821
|
#
|
1812
1822
|
# * `ECC_NIST_P521` (secp521r1)
|
1813
1823
|
#
|
1814
|
-
# * Other asymmetric elliptic curve key pairs
|
1824
|
+
# * Other asymmetric elliptic curve key pairs (signing and verification)
|
1815
1825
|
#
|
1816
1826
|
# * `ECC_SECG_P256K1` (secp256k1), commonly used for cryptocurrencies.
|
1817
1827
|
#
|
1818
1828
|
# ^
|
1819
1829
|
#
|
1820
|
-
# * SM2 key pairs (
|
1830
|
+
# * SM2 key pairs (encryption and decryption -or- signing and
|
1831
|
+
# verification -or- deriving shared secrets)
|
1821
1832
|
#
|
1822
|
-
# * `SM2`
|
1833
|
+
# * `SM2` (China Regions only)
|
1823
1834
|
#
|
1824
1835
|
# ^
|
1825
1836
|
#
|
@@ -2283,7 +2294,7 @@ module Aws::KMS
|
|
2283
2294
|
# resp = client.create_key({
|
2284
2295
|
# policy: "PolicyType",
|
2285
2296
|
# description: "DescriptionType",
|
2286
|
-
# key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC
|
2297
|
+
# key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC, KEY_AGREEMENT
|
2287
2298
|
# 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
|
2288
2299
|
# 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
|
2289
2300
|
# origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM, EXTERNAL_KEY_STORE
|
@@ -2307,7 +2318,7 @@ module Aws::KMS
|
|
2307
2318
|
# resp.key_metadata.creation_date #=> Time
|
2308
2319
|
# resp.key_metadata.enabled #=> Boolean
|
2309
2320
|
# resp.key_metadata.description #=> String
|
2310
|
-
# resp.key_metadata.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC"
|
2321
|
+
# resp.key_metadata.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
|
2311
2322
|
# resp.key_metadata.key_state #=> String, one of "Creating", "Enabled", "Disabled", "PendingDeletion", "PendingImport", "PendingReplicaDeletion", "Unavailable", "Updating"
|
2312
2323
|
# resp.key_metadata.deletion_date #=> Time
|
2313
2324
|
# resp.key_metadata.valid_to #=> Time
|
@@ -2322,6 +2333,8 @@ module Aws::KMS
|
|
2322
2333
|
# resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
2323
2334
|
# resp.key_metadata.signing_algorithms #=> Array
|
2324
2335
|
# 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"
|
2336
|
+
# resp.key_metadata.key_agreement_algorithms #=> Array
|
2337
|
+
# resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
2325
2338
|
# resp.key_metadata.multi_region #=> Boolean
|
2326
2339
|
# resp.key_metadata.multi_region_configuration.multi_region_key_type #=> String, one of "PRIMARY", "REPLICA"
|
2327
2340
|
# resp.key_metadata.multi_region_configuration.primary_key.arn #=> String
|
@@ -2918,6 +2931,270 @@ module Aws::KMS
|
|
2918
2931
|
req.send_request(options)
|
2919
2932
|
end
|
2920
2933
|
|
2934
|
+
# Derives a shared secret using a key agreement algorithm.
|
2935
|
+
#
|
2936
|
+
# <note markdown="1"> You must use an asymmetric NIST-recommended elliptic curve (ECC) or
|
2937
|
+
# SM2 (China Regions only) KMS key pair with a `KeyUsage` value of
|
2938
|
+
# `KEY_AGREEMENT` to call DeriveSharedSecret.
|
2939
|
+
#
|
2940
|
+
# </note>
|
2941
|
+
#
|
2942
|
+
# DeriveSharedSecret uses the [Elliptic Curve Cryptography Cofactor
|
2943
|
+
# Diffie-Hellman Primitive][1] (ECDH) to establish a key agreement
|
2944
|
+
# between two peers by deriving a shared secret from their elliptic
|
2945
|
+
# curve public-private key pairs. You can use the raw shared secret that
|
2946
|
+
# DeriveSharedSecret returns to derive a symmetric key that can encrypt
|
2947
|
+
# and decrypt data that is sent between the two peers, or that can
|
2948
|
+
# generate and verify HMACs. KMS recommends that you follow [NIST
|
2949
|
+
# recommendations for key derivation][2] when using the raw shared
|
2950
|
+
# secret to derive a symmetric key.
|
2951
|
+
#
|
2952
|
+
# The following workflow demonstrates how to establish key agreement
|
2953
|
+
# over an insecure communication channel using DeriveSharedSecret.
|
2954
|
+
#
|
2955
|
+
# 1. **Alice** calls CreateKey to create an asymmetric KMS key pair
|
2956
|
+
# with a `KeyUsage` value of `KEY_AGREEMENT`.
|
2957
|
+
#
|
2958
|
+
# The asymmetric KMS key must use a NIST-recommended elliptic curve
|
2959
|
+
# (ECC) or SM2 (China Regions only) key spec.
|
2960
|
+
#
|
2961
|
+
# 2. **Bob** creates an elliptic curve key pair.
|
2962
|
+
#
|
2963
|
+
# Bob can call CreateKey to create an asymmetric KMS key pair or
|
2964
|
+
# generate a key pair outside of KMS. Bob's key pair must use the
|
2965
|
+
# same NIST-recommended elliptic curve (ECC) or SM2 (China Regions
|
2966
|
+
# ony) curve as Alice.
|
2967
|
+
#
|
2968
|
+
# 3. Alice and Bob **exchange their public keys** through an insecure
|
2969
|
+
# communication channel (like the internet).
|
2970
|
+
#
|
2971
|
+
# Use GetPublicKey to download the public key of your asymmetric KMS
|
2972
|
+
# key pair.
|
2973
|
+
#
|
2974
|
+
# <note markdown="1"> KMS strongly recommends verifying that the public key you receive
|
2975
|
+
# came from the expected party before using it to derive a shared
|
2976
|
+
# secret.
|
2977
|
+
#
|
2978
|
+
# </note>
|
2979
|
+
#
|
2980
|
+
# 4. **Alice** calls DeriveSharedSecret.
|
2981
|
+
#
|
2982
|
+
# KMS uses the private key from the KMS key pair generated in **Step
|
2983
|
+
# 1**, Bob's public key, and the Elliptic Curve Cryptography
|
2984
|
+
# Cofactor Diffie-Hellman Primitive to derive the shared secret. The
|
2985
|
+
# private key in your KMS key pair never leaves KMS unencrypted.
|
2986
|
+
# DeriveSharedSecret returns the raw shared secret.
|
2987
|
+
#
|
2988
|
+
# 5. **Bob** uses the Elliptic Curve Cryptography Cofactor
|
2989
|
+
# Diffie-Hellman Primitive to calculate the same raw secret using
|
2990
|
+
# his private key and Alice's public key.
|
2991
|
+
#
|
2992
|
+
# To derive a shared secret you must provide a key agreement algorithm,
|
2993
|
+
# the private key of the caller's asymmetric NIST-recommended elliptic
|
2994
|
+
# curve or SM2 (China Regions only) KMS key pair, and the public key
|
2995
|
+
# from your peer's NIST-recommended elliptic curve or SM2 (China
|
2996
|
+
# Regions only) key pair. The public key can be from another asymmetric
|
2997
|
+
# KMS key pair or from a key pair generated outside of KMS, but both key
|
2998
|
+
# pairs must be on the same elliptic curve.
|
2999
|
+
#
|
3000
|
+
# The KMS key that you use for this operation must be in a compatible
|
3001
|
+
# key state. For details, see [Key states of KMS keys][3] in the *Key
|
3002
|
+
# Management Service Developer Guide*.
|
3003
|
+
#
|
3004
|
+
# **Cross-account use**: Yes. To perform this operation with a KMS key
|
3005
|
+
# in a different Amazon Web Services account, specify the key ARN or
|
3006
|
+
# alias ARN in the value of the `KeyId` parameter.
|
3007
|
+
#
|
3008
|
+
# **Required permissions**: [kms:DeriveSharedSecret][4] (key policy)
|
3009
|
+
#
|
3010
|
+
# **Related operations:**
|
3011
|
+
#
|
3012
|
+
# * CreateKey
|
3013
|
+
#
|
3014
|
+
# * GetPublicKey
|
3015
|
+
#
|
3016
|
+
# * DescribeKey
|
3017
|
+
#
|
3018
|
+
# **Eventual consistency**: The KMS API follows an eventual consistency
|
3019
|
+
# model. For more information, see [KMS eventual consistency][5].
|
3020
|
+
#
|
3021
|
+
#
|
3022
|
+
#
|
3023
|
+
# [1]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf#page=60
|
3024
|
+
# [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
|
3025
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
3026
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
3027
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
|
3028
|
+
#
|
3029
|
+
# @option params [required, String] :key_id
|
3030
|
+
# Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions
|
3031
|
+
# only) KMS key. KMS uses the private key in the specified key pair to
|
3032
|
+
# derive the shared secret. The key usage of the KMS key must be
|
3033
|
+
# `KEY_AGREEMENT`. To find the `KeyUsage` of a KMS key, use the
|
3034
|
+
# DescribeKey operation.
|
3035
|
+
#
|
3036
|
+
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
3037
|
+
# ARN. When using an alias name, prefix it with `"alias/"`. To specify a
|
3038
|
+
# KMS key in a different Amazon Web Services account, you must use the
|
3039
|
+
# key ARN or alias ARN.
|
3040
|
+
#
|
3041
|
+
# For example:
|
3042
|
+
#
|
3043
|
+
# * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
|
3044
|
+
#
|
3045
|
+
# * Key ARN:
|
3046
|
+
# `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
|
3047
|
+
#
|
3048
|
+
# * Alias name: `alias/ExampleAlias`
|
3049
|
+
#
|
3050
|
+
# * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
|
3051
|
+
#
|
3052
|
+
# To get the key ID and key ARN for a KMS key, use ListKeys or
|
3053
|
+
# DescribeKey. To get the alias name and alias ARN, use ListAliases.
|
3054
|
+
#
|
3055
|
+
# @option params [required, String] :key_agreement_algorithm
|
3056
|
+
# Specifies the key agreement algorithm used to derive the shared
|
3057
|
+
# secret. The only valid value is `ECDH`.
|
3058
|
+
#
|
3059
|
+
# @option params [required, String, StringIO, File] :public_key
|
3060
|
+
# Specifies the public key in your peer's NIST-recommended elliptic
|
3061
|
+
# curve (ECC) or SM2 (China Regions only) key pair.
|
3062
|
+
#
|
3063
|
+
# The public key must be a DER-encoded X.509 public key, also known as
|
3064
|
+
# `SubjectPublicKeyInfo` (SPKI), as defined in [RFC 5280][1].
|
3065
|
+
#
|
3066
|
+
# GetPublicKey returns the public key of an asymmetric KMS key pair in
|
3067
|
+
# the required DER-encoded format.
|
3068
|
+
#
|
3069
|
+
# <note markdown="1"> If you use [Amazon Web Services CLI version 1][2], you must provide
|
3070
|
+
# the DER-encoded X.509 public key in a file. Otherwise, the Amazon Web
|
3071
|
+
# Services CLI Base64-encodes the public key a second time, resulting in
|
3072
|
+
# a `ValidationException`.
|
3073
|
+
#
|
3074
|
+
# </note>
|
3075
|
+
#
|
3076
|
+
# You can specify the public key as binary data in a file using fileb
|
3077
|
+
# (`fileb://<path-to-file>`) or in-line using a Base64 encoded string.
|
3078
|
+
#
|
3079
|
+
#
|
3080
|
+
#
|
3081
|
+
# [1]: https://tools.ietf.org/html/rfc5280
|
3082
|
+
# [2]: https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html
|
3083
|
+
#
|
3084
|
+
# @option params [Array<String>] :grant_tokens
|
3085
|
+
# A list of grant tokens.
|
3086
|
+
#
|
3087
|
+
# Use a grant token when your permission to call this operation comes
|
3088
|
+
# from a new grant that has not yet achieved *eventual consistency*. For
|
3089
|
+
# more information, see [Grant token][1] and [Using a grant token][2] in
|
3090
|
+
# the *Key Management Service Developer Guide*.
|
3091
|
+
#
|
3092
|
+
#
|
3093
|
+
#
|
3094
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
3095
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
3096
|
+
#
|
3097
|
+
# @option params [Boolean] :dry_run
|
3098
|
+
# Checks if your request will succeed. `DryRun` is an optional
|
3099
|
+
# parameter.
|
3100
|
+
#
|
3101
|
+
# To learn more about how to use this parameter, see [Testing your KMS
|
3102
|
+
# API calls][1] in the *Key Management Service Developer Guide*.
|
3103
|
+
#
|
3104
|
+
#
|
3105
|
+
#
|
3106
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
|
3107
|
+
#
|
3108
|
+
# @option params [Types::RecipientInfo] :recipient
|
3109
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
3110
|
+
# enclave and the encryption algorithm to use with the enclave's public
|
3111
|
+
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
3112
|
+
#
|
3113
|
+
# This parameter only supports attestation documents for Amazon Web
|
3114
|
+
# Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web
|
3115
|
+
# Services Nitro Enclaves, use the [Amazon Web Services Nitro Enclaves
|
3116
|
+
# SDK][2] to generate the attestation document and then use the
|
3117
|
+
# Recipient parameter from any Amazon Web Services SDK to provide the
|
3118
|
+
# attestation document for the enclave.
|
3119
|
+
#
|
3120
|
+
# When you use this parameter, instead of returning a plaintext copy of
|
3121
|
+
# the shared secret, KMS encrypts the plaintext shared secret under the
|
3122
|
+
# public key in the attestation document, and returns the resulting
|
3123
|
+
# ciphertext in the `CiphertextForRecipient` field in the response. This
|
3124
|
+
# ciphertext can be decrypted only with the private key in the enclave.
|
3125
|
+
# The `CiphertextBlob` field in the response contains the encrypted
|
3126
|
+
# shared secret derived from the KMS key specified by the `KeyId`
|
3127
|
+
# parameter and public key specified by the `PublicKey` parameter. The
|
3128
|
+
# `SharedSecret` field in the response is null or empty.
|
3129
|
+
#
|
3130
|
+
# For information about the interaction between KMS and Amazon Web
|
3131
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
3132
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
3133
|
+
#
|
3134
|
+
#
|
3135
|
+
#
|
3136
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
3137
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
3138
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
3139
|
+
#
|
3140
|
+
# @return [Types::DeriveSharedSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
3141
|
+
#
|
3142
|
+
# * {Types::DeriveSharedSecretResponse#key_id #key_id} => String
|
3143
|
+
# * {Types::DeriveSharedSecretResponse#shared_secret #shared_secret} => String
|
3144
|
+
# * {Types::DeriveSharedSecretResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
|
3145
|
+
# * {Types::DeriveSharedSecretResponse#key_agreement_algorithm #key_agreement_algorithm} => String
|
3146
|
+
# * {Types::DeriveSharedSecretResponse#key_origin #key_origin} => String
|
3147
|
+
#
|
3148
|
+
#
|
3149
|
+
# @example Example: To derive a shared secret
|
3150
|
+
#
|
3151
|
+
# # The following example derives a shared secret using a key agreement algorithm.
|
3152
|
+
#
|
3153
|
+
# resp = client.derive_shared_secret({
|
3154
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret. The only valid value is ECDH.
|
3155
|
+
# key_id: "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.
|
3156
|
+
# public_key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag", # The public key in your peer's asymmetric key pair.
|
3157
|
+
# })
|
3158
|
+
#
|
3159
|
+
# resp.to_h outputs the following:
|
3160
|
+
# {
|
3161
|
+
# key_agreement_algorithm: "ECDH", # The key agreement algorithm used to derive the shared secret.
|
3162
|
+
# key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The asymmetric KMS key pair used to derive the shared secret.
|
3163
|
+
# key_origin: "AWS_KMS", # The source of the key material for the specified KMS key.
|
3164
|
+
# 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.
|
3165
|
+
# }
|
3166
|
+
#
|
3167
|
+
# @example Request syntax with placeholder values
|
3168
|
+
#
|
3169
|
+
# resp = client.derive_shared_secret({
|
3170
|
+
# key_id: "KeyIdType", # required
|
3171
|
+
# key_agreement_algorithm: "ECDH", # required, accepts ECDH
|
3172
|
+
# public_key: "data", # required
|
3173
|
+
# grant_tokens: ["GrantTokenType"],
|
3174
|
+
# dry_run: false,
|
3175
|
+
# recipient: {
|
3176
|
+
# key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
|
3177
|
+
# attestation_document: "data",
|
3178
|
+
# },
|
3179
|
+
# })
|
3180
|
+
#
|
3181
|
+
# @example Response structure
|
3182
|
+
#
|
3183
|
+
# resp.key_id #=> String
|
3184
|
+
# resp.shared_secret #=> String
|
3185
|
+
# resp.ciphertext_for_recipient #=> String
|
3186
|
+
# resp.key_agreement_algorithm #=> String, one of "ECDH"
|
3187
|
+
# resp.key_origin #=> String, one of "AWS_KMS", "EXTERNAL", "AWS_CLOUDHSM", "EXTERNAL_KEY_STORE"
|
3188
|
+
#
|
3189
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeriveSharedSecret AWS API Documentation
|
3190
|
+
#
|
3191
|
+
# @overload derive_shared_secret(params = {})
|
3192
|
+
# @param [Hash] params ({})
|
3193
|
+
def derive_shared_secret(params = {}, options = {})
|
3194
|
+
req = build_request(:derive_shared_secret, params)
|
3195
|
+
req.send_request(options)
|
3196
|
+
end
|
3197
|
+
|
2921
3198
|
# Gets information about [custom key stores][1] in the account and
|
2922
3199
|
# Region.
|
2923
3200
|
#
|
@@ -3502,7 +3779,7 @@ module Aws::KMS
|
|
3502
3779
|
# resp.key_metadata.creation_date #=> Time
|
3503
3780
|
# resp.key_metadata.enabled #=> Boolean
|
3504
3781
|
# resp.key_metadata.description #=> String
|
3505
|
-
# resp.key_metadata.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC"
|
3782
|
+
# resp.key_metadata.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
|
3506
3783
|
# resp.key_metadata.key_state #=> String, one of "Creating", "Enabled", "Disabled", "PendingDeletion", "PendingImport", "PendingReplicaDeletion", "Unavailable", "Updating"
|
3507
3784
|
# resp.key_metadata.deletion_date #=> Time
|
3508
3785
|
# resp.key_metadata.valid_to #=> Time
|
@@ -3517,6 +3794,8 @@ module Aws::KMS
|
|
3517
3794
|
# resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
3518
3795
|
# resp.key_metadata.signing_algorithms #=> Array
|
3519
3796
|
# 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"
|
3797
|
+
# resp.key_metadata.key_agreement_algorithms #=> Array
|
3798
|
+
# resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
3520
3799
|
# resp.key_metadata.multi_region #=> Boolean
|
3521
3800
|
# resp.key_metadata.multi_region_configuration.multi_region_key_type #=> String, one of "PRIMARY", "REPLICA"
|
3522
3801
|
# resp.key_metadata.multi_region_configuration.primary_key.arn #=> String
|
@@ -4783,8 +5062,11 @@ module Aws::KMS
|
|
4783
5062
|
# key. The only valid encryption algorithm is `RSAES_OAEP_SHA_256`.
|
4784
5063
|
#
|
4785
5064
|
# This parameter only supports attestation documents for Amazon Web
|
4786
|
-
# Services Nitro Enclaves. To
|
4787
|
-
#
|
5065
|
+
# Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web
|
5066
|
+
# Services Nitro Enclaves, use the [Amazon Web Services Nitro Enclaves
|
5067
|
+
# SDK][2] to generate the attestation document and then use the
|
5068
|
+
# Recipient parameter from any Amazon Web Services SDK to provide the
|
5069
|
+
# attestation document for the enclave.
|
4788
5070
|
#
|
4789
5071
|
# When you use this parameter, instead of returning a plaintext copy of
|
4790
5072
|
# the private data key, KMS encrypts the plaintext private data key
|
@@ -6088,8 +6370,8 @@ module Aws::KMS
|
|
6088
6370
|
#
|
6089
6371
|
# resp = client.get_parameters_for_import({
|
6090
6372
|
# key_id: "KeyIdType", # required
|
6091
|
-
# wrapping_algorithm: "RSAES_PKCS1_V1_5", # required, accepts RSAES_PKCS1_V1_5, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, RSA_AES_KEY_WRAP_SHA_1, RSA_AES_KEY_WRAP_SHA_256
|
6092
|
-
# wrapping_key_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096
|
6373
|
+
# wrapping_algorithm: "RSAES_PKCS1_V1_5", # required, accepts RSAES_PKCS1_V1_5, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, RSA_AES_KEY_WRAP_SHA_1, RSA_AES_KEY_WRAP_SHA_256, SM2PKE
|
6374
|
+
# wrapping_key_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, SM2
|
6093
6375
|
# })
|
6094
6376
|
#
|
6095
6377
|
# @example Response structure
|
@@ -6131,7 +6413,8 @@ module Aws::KMS
|
|
6131
6413
|
# * [KeySpec][2]: The type of key material in the public key, such as
|
6132
6414
|
# `RSA_4096` or `ECC_NIST_P521`.
|
6133
6415
|
#
|
6134
|
-
# * [KeyUsage][3]: Whether the key is used for encryption or
|
6416
|
+
# * [KeyUsage][3]: Whether the key is used for encryption, signing, or
|
6417
|
+
# deriving a shared secret.
|
6135
6418
|
#
|
6136
6419
|
# * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]: A list of the
|
6137
6420
|
# encryption algorithms or the signing algorithms for the key.
|
@@ -6220,6 +6503,7 @@ module Aws::KMS
|
|
6220
6503
|
# * {Types::GetPublicKeyResponse#key_usage #key_usage} => String
|
6221
6504
|
# * {Types::GetPublicKeyResponse#encryption_algorithms #encryption_algorithms} => Array<String>
|
6222
6505
|
# * {Types::GetPublicKeyResponse#signing_algorithms #signing_algorithms} => Array<String>
|
6506
|
+
# * {Types::GetPublicKeyResponse#key_agreement_algorithms #key_agreement_algorithms} => Array<String>
|
6223
6507
|
#
|
6224
6508
|
#
|
6225
6509
|
# @example Example: To download the public key of an asymmetric KMS key
|
@@ -6257,11 +6541,13 @@ module Aws::KMS
|
|
6257
6541
|
# resp.public_key #=> String
|
6258
6542
|
# 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"
|
6259
6543
|
# 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"
|
6260
|
-
# resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC"
|
6544
|
+
# resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
|
6261
6545
|
# resp.encryption_algorithms #=> Array
|
6262
6546
|
# resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
6263
6547
|
# resp.signing_algorithms #=> Array
|
6264
6548
|
# 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"
|
6549
|
+
# resp.key_agreement_algorithms #=> Array
|
6550
|
+
# resp.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
6265
6551
|
#
|
6266
6552
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKey AWS API Documentation
|
6267
6553
|
#
|
@@ -6864,7 +7150,7 @@ module Aws::KMS
|
|
6864
7150
|
# resp.grants[0].retiring_principal #=> String
|
6865
7151
|
# resp.grants[0].issuing_account #=> String
|
6866
7152
|
# resp.grants[0].operations #=> Array
|
6867
|
-
# resp.grants[0].operations[0] #=> String, one of "Decrypt", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "Sign", "Verify", "GetPublicKey", "CreateGrant", "RetireGrant", "DescribeKey", "GenerateDataKeyPair", "GenerateDataKeyPairWithoutPlaintext", "GenerateMac", "VerifyMac"
|
7153
|
+
# resp.grants[0].operations[0] #=> String, one of "Decrypt", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "Sign", "Verify", "GetPublicKey", "CreateGrant", "RetireGrant", "DescribeKey", "GenerateDataKeyPair", "GenerateDataKeyPairWithoutPlaintext", "GenerateMac", "VerifyMac", "DeriveSharedSecret"
|
6868
7154
|
# resp.grants[0].constraints.encryption_context_subset #=> Hash
|
6869
7155
|
# resp.grants[0].constraints.encryption_context_subset["EncryptionContextKey"] #=> String
|
6870
7156
|
# resp.grants[0].constraints.encryption_context_equals #=> Hash
|
@@ -7486,7 +7772,7 @@ module Aws::KMS
|
|
7486
7772
|
# resp.grants[0].retiring_principal #=> String
|
7487
7773
|
# resp.grants[0].issuing_account #=> String
|
7488
7774
|
# resp.grants[0].operations #=> Array
|
7489
|
-
# resp.grants[0].operations[0] #=> String, one of "Decrypt", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "Sign", "Verify", "GetPublicKey", "CreateGrant", "RetireGrant", "DescribeKey", "GenerateDataKeyPair", "GenerateDataKeyPairWithoutPlaintext", "GenerateMac", "VerifyMac"
|
7775
|
+
# resp.grants[0].operations[0] #=> String, one of "Decrypt", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "Sign", "Verify", "GetPublicKey", "CreateGrant", "RetireGrant", "DescribeKey", "GenerateDataKeyPair", "GenerateDataKeyPairWithoutPlaintext", "GenerateMac", "VerifyMac", "DeriveSharedSecret"
|
7490
7776
|
# resp.grants[0].constraints.encryption_context_subset #=> Hash
|
7491
7777
|
# resp.grants[0].constraints.encryption_context_subset["EncryptionContextKey"] #=> String
|
7492
7778
|
# resp.grants[0].constraints.encryption_context_equals #=> Hash
|
@@ -8324,7 +8610,7 @@ module Aws::KMS
|
|
8324
8610
|
# resp.replica_key_metadata.creation_date #=> Time
|
8325
8611
|
# resp.replica_key_metadata.enabled #=> Boolean
|
8326
8612
|
# resp.replica_key_metadata.description #=> String
|
8327
|
-
# resp.replica_key_metadata.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC"
|
8613
|
+
# resp.replica_key_metadata.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
|
8328
8614
|
# resp.replica_key_metadata.key_state #=> String, one of "Creating", "Enabled", "Disabled", "PendingDeletion", "PendingImport", "PendingReplicaDeletion", "Unavailable", "Updating"
|
8329
8615
|
# resp.replica_key_metadata.deletion_date #=> Time
|
8330
8616
|
# resp.replica_key_metadata.valid_to #=> Time
|
@@ -8339,6 +8625,8 @@ module Aws::KMS
|
|
8339
8625
|
# resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
|
8340
8626
|
# resp.replica_key_metadata.signing_algorithms #=> Array
|
8341
8627
|
# 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"
|
8628
|
+
# resp.replica_key_metadata.key_agreement_algorithms #=> Array
|
8629
|
+
# resp.replica_key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
|
8342
8630
|
# resp.replica_key_metadata.multi_region #=> Boolean
|
8343
8631
|
# resp.replica_key_metadata.multi_region_configuration.multi_region_key_type #=> String, one of "PRIMARY", "REPLICA"
|
8344
8632
|
# resp.replica_key_metadata.multi_region_configuration.primary_key.arn #=> String
|
@@ -10458,7 +10746,7 @@ module Aws::KMS
|
|
10458
10746
|
params: params,
|
10459
10747
|
config: config)
|
10460
10748
|
context[:gem_name] = 'aws-sdk-kms'
|
10461
|
-
context[:gem_version] = '1.
|
10749
|
+
context[:gem_version] = '1.87.0'
|
10462
10750
|
Seahorse::Client::Request.new(handlers, context)
|
10463
10751
|
end
|
10464
10752
|
|
@@ -63,6 +63,8 @@ module Aws::KMS
|
|
63
63
|
DeleteCustomKeyStoreResponse = Shapes::StructureShape.new(name: 'DeleteCustomKeyStoreResponse')
|
64
64
|
DeleteImportedKeyMaterialRequest = Shapes::StructureShape.new(name: 'DeleteImportedKeyMaterialRequest')
|
65
65
|
DependencyTimeoutException = Shapes::StructureShape.new(name: 'DependencyTimeoutException')
|
66
|
+
DeriveSharedSecretRequest = Shapes::StructureShape.new(name: 'DeriveSharedSecretRequest')
|
67
|
+
DeriveSharedSecretResponse = Shapes::StructureShape.new(name: 'DeriveSharedSecretResponse')
|
66
68
|
DescribeCustomKeyStoresRequest = Shapes::StructureShape.new(name: 'DescribeCustomKeyStoresRequest')
|
67
69
|
DescribeCustomKeyStoresResponse = Shapes::StructureShape.new(name: 'DescribeCustomKeyStoresResponse')
|
68
70
|
DescribeKeyRequest = Shapes::StructureShape.new(name: 'DescribeKeyRequest')
|
@@ -132,6 +134,8 @@ module Aws::KMS
|
|
132
134
|
KMSInvalidMacException = Shapes::StructureShape.new(name: 'KMSInvalidMacException')
|
133
135
|
KMSInvalidSignatureException = Shapes::StructureShape.new(name: 'KMSInvalidSignatureException')
|
134
136
|
KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException')
|
137
|
+
KeyAgreementAlgorithmSpec = Shapes::StringShape.new(name: 'KeyAgreementAlgorithmSpec')
|
138
|
+
KeyAgreementAlgorithmSpecList = Shapes::ListShape.new(name: 'KeyAgreementAlgorithmSpecList')
|
135
139
|
KeyEncryptionMechanism = Shapes::StringShape.new(name: 'KeyEncryptionMechanism')
|
136
140
|
KeyIdType = Shapes::StringShape.new(name: 'KeyIdType')
|
137
141
|
KeyList = Shapes::ListShape.new(name: 'KeyList')
|
@@ -386,6 +390,21 @@ module Aws::KMS
|
|
386
390
|
DependencyTimeoutException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
|
387
391
|
DependencyTimeoutException.struct_class = Types::DependencyTimeoutException
|
388
392
|
|
393
|
+
DeriveSharedSecretRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
|
394
|
+
DeriveSharedSecretRequest.add_member(:key_agreement_algorithm, Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpec, required: true, location_name: "KeyAgreementAlgorithm"))
|
395
|
+
DeriveSharedSecretRequest.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKeyType, required: true, location_name: "PublicKey"))
|
396
|
+
DeriveSharedSecretRequest.add_member(:grant_tokens, Shapes::ShapeRef.new(shape: GrantTokenList, location_name: "GrantTokens"))
|
397
|
+
DeriveSharedSecretRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: NullableBooleanType, location_name: "DryRun"))
|
398
|
+
DeriveSharedSecretRequest.add_member(:recipient, Shapes::ShapeRef.new(shape: RecipientInfo, location_name: "Recipient"))
|
399
|
+
DeriveSharedSecretRequest.struct_class = Types::DeriveSharedSecretRequest
|
400
|
+
|
401
|
+
DeriveSharedSecretResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
|
402
|
+
DeriveSharedSecretResponse.add_member(:shared_secret, Shapes::ShapeRef.new(shape: PlaintextType, location_name: "SharedSecret"))
|
403
|
+
DeriveSharedSecretResponse.add_member(:ciphertext_for_recipient, Shapes::ShapeRef.new(shape: CiphertextType, location_name: "CiphertextForRecipient"))
|
404
|
+
DeriveSharedSecretResponse.add_member(:key_agreement_algorithm, Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpec, location_name: "KeyAgreementAlgorithm"))
|
405
|
+
DeriveSharedSecretResponse.add_member(:key_origin, Shapes::ShapeRef.new(shape: OriginType, location_name: "KeyOrigin"))
|
406
|
+
DeriveSharedSecretResponse.struct_class = Types::DeriveSharedSecretResponse
|
407
|
+
|
389
408
|
DescribeCustomKeyStoresRequest.add_member(:custom_key_store_id, Shapes::ShapeRef.new(shape: CustomKeyStoreIdType, location_name: "CustomKeyStoreId"))
|
390
409
|
DescribeCustomKeyStoresRequest.add_member(:custom_key_store_name, Shapes::ShapeRef.new(shape: CustomKeyStoreNameType, location_name: "CustomKeyStoreName"))
|
391
410
|
DescribeCustomKeyStoresRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
|
@@ -566,6 +585,7 @@ module Aws::KMS
|
|
566
585
|
GetPublicKeyResponse.add_member(:key_usage, Shapes::ShapeRef.new(shape: KeyUsageType, location_name: "KeyUsage"))
|
567
586
|
GetPublicKeyResponse.add_member(:encryption_algorithms, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpecList, location_name: "EncryptionAlgorithms"))
|
568
587
|
GetPublicKeyResponse.add_member(:signing_algorithms, Shapes::ShapeRef.new(shape: SigningAlgorithmSpecList, location_name: "SigningAlgorithms"))
|
588
|
+
GetPublicKeyResponse.add_member(:key_agreement_algorithms, Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpecList, location_name: "KeyAgreementAlgorithms"))
|
569
589
|
GetPublicKeyResponse.struct_class = Types::GetPublicKeyResponse
|
570
590
|
|
571
591
|
GrantConstraints.add_member(:encryption_context_subset, Shapes::ShapeRef.new(shape: EncryptionContextType, location_name: "EncryptionContextSubset"))
|
@@ -643,6 +663,8 @@ module Aws::KMS
|
|
643
663
|
KMSInvalidStateException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
|
644
664
|
KMSInvalidStateException.struct_class = Types::KMSInvalidStateException
|
645
665
|
|
666
|
+
KeyAgreementAlgorithmSpecList.member = Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpec)
|
667
|
+
|
646
668
|
KeyList.member = Shapes::ShapeRef.new(shape: KeyListEntry)
|
647
669
|
|
648
670
|
KeyListEntry.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
|
@@ -668,6 +690,7 @@ module Aws::KMS
|
|
668
690
|
KeyMetadata.add_member(:key_spec, Shapes::ShapeRef.new(shape: KeySpec, location_name: "KeySpec"))
|
669
691
|
KeyMetadata.add_member(:encryption_algorithms, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpecList, location_name: "EncryptionAlgorithms"))
|
670
692
|
KeyMetadata.add_member(:signing_algorithms, Shapes::ShapeRef.new(shape: SigningAlgorithmSpecList, location_name: "SigningAlgorithms"))
|
693
|
+
KeyMetadata.add_member(:key_agreement_algorithms, Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpecList, location_name: "KeyAgreementAlgorithms"))
|
671
694
|
KeyMetadata.add_member(:multi_region, Shapes::ShapeRef.new(shape: NullableBooleanType, location_name: "MultiRegion"))
|
672
695
|
KeyMetadata.add_member(:multi_region_configuration, Shapes::ShapeRef.new(shape: MultiRegionConfiguration, location_name: "MultiRegionConfiguration"))
|
673
696
|
KeyMetadata.add_member(:pending_deletion_window_in_days, Shapes::ShapeRef.new(shape: PendingWindowInDaysType, location_name: "PendingDeletionWindowInDays"))
|
@@ -990,9 +1013,11 @@ module Aws::KMS
|
|
990
1013
|
|
991
1014
|
api.metadata = {
|
992
1015
|
"apiVersion" => "2014-11-01",
|
1016
|
+
"auth" => ["aws.auth#sigv4"],
|
993
1017
|
"endpointPrefix" => "kms",
|
994
1018
|
"jsonVersion" => "1.1",
|
995
1019
|
"protocol" => "json",
|
1020
|
+
"protocols" => ["json"],
|
996
1021
|
"serviceAbbreviation" => "KMS",
|
997
1022
|
"serviceFullName" => "AWS Key Management Service",
|
998
1023
|
"serviceId" => "KMS",
|
@@ -1162,6 +1187,23 @@ module Aws::KMS
|
|
1162
1187
|
o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
|
1163
1188
|
end)
|
1164
1189
|
|
1190
|
+
api.add_operation(:derive_shared_secret, Seahorse::Model::Operation.new.tap do |o|
|
1191
|
+
o.name = "DeriveSharedSecret"
|
1192
|
+
o.http_method = "POST"
|
1193
|
+
o.http_request_uri = "/"
|
1194
|
+
o.input = Shapes::ShapeRef.new(shape: DeriveSharedSecretRequest)
|
1195
|
+
o.output = Shapes::ShapeRef.new(shape: DeriveSharedSecretResponse)
|
1196
|
+
o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
|
1197
|
+
o.errors << Shapes::ShapeRef.new(shape: DisabledException)
|
1198
|
+
o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
|
1199
|
+
o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
|
1200
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
|
1201
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
|
1202
|
+
o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
|
1203
|
+
o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
|
1204
|
+
o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
|
1205
|
+
end)
|
1206
|
+
|
1165
1207
|
api.add_operation(:describe_custom_key_stores, Seahorse::Model::Operation.new.tap do |o|
|
1166
1208
|
o.name = "DescribeCustomKeyStores"
|
1167
1209
|
o.http_method = "POST"
|
@@ -152,6 +152,20 @@ module Aws::KMS
|
|
152
152
|
end
|
153
153
|
end
|
154
154
|
|
155
|
+
class DeriveSharedSecret
|
156
|
+
def self.build(context)
|
157
|
+
unless context.config.regional_endpoint
|
158
|
+
endpoint = context.config.endpoint.to_s
|
159
|
+
end
|
160
|
+
Aws::KMS::EndpointParameters.new(
|
161
|
+
region: context.config.region,
|
162
|
+
use_dual_stack: context.config.use_dualstack_endpoint,
|
163
|
+
use_fips: context.config.use_fips_endpoint,
|
164
|
+
endpoint: endpoint,
|
165
|
+
)
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
155
169
|
class DescribeCustomKeyStores
|
156
170
|
def self.build(context)
|
157
171
|
unless context.config.regional_endpoint
|
@@ -78,6 +78,8 @@ module Aws::KMS
|
|
78
78
|
Aws::KMS::Endpoints::DeleteCustomKeyStore.build(context)
|
79
79
|
when :delete_imported_key_material
|
80
80
|
Aws::KMS::Endpoints::DeleteImportedKeyMaterial.build(context)
|
81
|
+
when :derive_shared_secret
|
82
|
+
Aws::KMS::Endpoints::DeriveSharedSecret.build(context)
|
81
83
|
when :describe_custom_key_stores
|
82
84
|
Aws::KMS::Endpoints::DescribeCustomKeyStores.build(context)
|
83
85
|
when :describe_key
|
data/lib/aws-sdk-kms/types.rb
CHANGED
@@ -841,14 +841,17 @@ module Aws::KMS
|
|
841
841
|
#
|
842
842
|
# * For HMAC KMS keys (symmetric), specify `GENERATE_VERIFY_MAC`.
|
843
843
|
#
|
844
|
-
# * For asymmetric KMS keys with RSA key
|
844
|
+
# * For asymmetric KMS keys with RSA key pairs, specify
|
845
845
|
# `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
|
846
846
|
#
|
847
|
-
# * For asymmetric KMS keys with
|
847
|
+
# * For asymmetric KMS keys with NIST-recommended elliptic curve key
|
848
|
+
# pairs, specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
|
849
|
+
#
|
850
|
+
# * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs specify
|
848
851
|
# `SIGN_VERIFY`.
|
849
852
|
#
|
850
|
-
# * For asymmetric KMS keys with SM2 key
|
851
|
-
#
|
853
|
+
# * For asymmetric KMS keys with SM2 key pairs (China Regions only),
|
854
|
+
# specify `ENCRYPT_DECRYPT`, `SIGN_VERIFY`, or `KEY_AGREEMENT`.
|
852
855
|
#
|
853
856
|
#
|
854
857
|
#
|
@@ -904,7 +907,8 @@ module Aws::KMS
|
|
904
907
|
#
|
905
908
|
# * `HMAC_512`
|
906
909
|
#
|
907
|
-
# * Asymmetric RSA key pairs
|
910
|
+
# * Asymmetric RSA key pairs (encryption and decryption -or- signing
|
911
|
+
# and verification)
|
908
912
|
#
|
909
913
|
# * `RSA_2048`
|
910
914
|
#
|
@@ -912,7 +916,8 @@ module Aws::KMS
|
|
912
916
|
#
|
913
917
|
# * `RSA_4096`
|
914
918
|
#
|
915
|
-
# * Asymmetric NIST-recommended elliptic curve key pairs
|
919
|
+
# * Asymmetric NIST-recommended elliptic curve key pairs (signing and
|
920
|
+
# verification -or- deriving shared secrets)
|
916
921
|
#
|
917
922
|
# * `ECC_NIST_P256` (secp256r1)
|
918
923
|
#
|
@@ -920,16 +925,18 @@ module Aws::KMS
|
|
920
925
|
#
|
921
926
|
# * `ECC_NIST_P521` (secp521r1)
|
922
927
|
#
|
923
|
-
# * Other asymmetric elliptic curve key pairs
|
928
|
+
# * Other asymmetric elliptic curve key pairs (signing and
|
929
|
+
# verification)
|
924
930
|
#
|
925
931
|
# * `ECC_SECG_P256K1` (secp256k1), commonly used for
|
926
932
|
# cryptocurrencies.
|
927
933
|
#
|
928
934
|
# ^
|
929
935
|
#
|
930
|
-
# * SM2 key pairs (
|
936
|
+
# * SM2 key pairs (encryption and decryption -or- signing and
|
937
|
+
# verification -or- deriving shared secrets)
|
931
938
|
#
|
932
|
-
# * `SM2`
|
939
|
+
# * `SM2` (China Regions only)
|
933
940
|
#
|
934
941
|
# ^
|
935
942
|
#
|
@@ -1761,6 +1768,195 @@ module Aws::KMS
|
|
1761
1768
|
include Aws::Structure
|
1762
1769
|
end
|
1763
1770
|
|
1771
|
+
# @!attribute [rw] key_id
|
1772
|
+
# Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions
|
1773
|
+
# only) KMS key. KMS uses the private key in the specified key pair to
|
1774
|
+
# derive the shared secret. The key usage of the KMS key must be
|
1775
|
+
# `KEY_AGREEMENT`. To find the `KeyUsage` of a KMS key, use the
|
1776
|
+
# DescribeKey operation.
|
1777
|
+
#
|
1778
|
+
# To specify a KMS key, use its key ID, key ARN, alias name, or alias
|
1779
|
+
# ARN. When using an alias name, prefix it with `"alias/"`. To specify
|
1780
|
+
# a KMS key in a different Amazon Web Services account, you must use
|
1781
|
+
# the key ARN or alias ARN.
|
1782
|
+
#
|
1783
|
+
# For example:
|
1784
|
+
#
|
1785
|
+
# * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
|
1786
|
+
#
|
1787
|
+
# * Key ARN:
|
1788
|
+
# `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
|
1789
|
+
#
|
1790
|
+
# * Alias name: `alias/ExampleAlias`
|
1791
|
+
#
|
1792
|
+
# * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
|
1793
|
+
#
|
1794
|
+
# To get the key ID and key ARN for a KMS key, use ListKeys or
|
1795
|
+
# DescribeKey. To get the alias name and alias ARN, use ListAliases.
|
1796
|
+
# @return [String]
|
1797
|
+
#
|
1798
|
+
# @!attribute [rw] key_agreement_algorithm
|
1799
|
+
# Specifies the key agreement algorithm used to derive the shared
|
1800
|
+
# secret. The only valid value is `ECDH`.
|
1801
|
+
# @return [String]
|
1802
|
+
#
|
1803
|
+
# @!attribute [rw] public_key
|
1804
|
+
# Specifies the public key in your peer's NIST-recommended elliptic
|
1805
|
+
# curve (ECC) or SM2 (China Regions only) key pair.
|
1806
|
+
#
|
1807
|
+
# The public key must be a DER-encoded X.509 public key, also known as
|
1808
|
+
# `SubjectPublicKeyInfo` (SPKI), as defined in [RFC 5280][1].
|
1809
|
+
#
|
1810
|
+
# GetPublicKey returns the public key of an asymmetric KMS key pair in
|
1811
|
+
# the required DER-encoded format.
|
1812
|
+
#
|
1813
|
+
# <note markdown="1"> If you use [Amazon Web Services CLI version 1][2], you must provide
|
1814
|
+
# the DER-encoded X.509 public key in a file. Otherwise, the Amazon
|
1815
|
+
# Web Services CLI Base64-encodes the public key a second time,
|
1816
|
+
# resulting in a `ValidationException`.
|
1817
|
+
#
|
1818
|
+
# </note>
|
1819
|
+
#
|
1820
|
+
# You can specify the public key as binary data in a file using fileb
|
1821
|
+
# (`fileb://<path-to-file>`) or in-line using a Base64 encoded string.
|
1822
|
+
#
|
1823
|
+
#
|
1824
|
+
#
|
1825
|
+
# [1]: https://tools.ietf.org/html/rfc5280
|
1826
|
+
# [2]: https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html
|
1827
|
+
# @return [String]
|
1828
|
+
#
|
1829
|
+
# @!attribute [rw] grant_tokens
|
1830
|
+
# A list of grant tokens.
|
1831
|
+
#
|
1832
|
+
# Use a grant token when your permission to call this operation comes
|
1833
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
1834
|
+
# For more information, see [Grant token][1] and [Using a grant
|
1835
|
+
# token][2] in the *Key Management Service Developer Guide*.
|
1836
|
+
#
|
1837
|
+
#
|
1838
|
+
#
|
1839
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
1840
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
|
1841
|
+
# @return [Array<String>]
|
1842
|
+
#
|
1843
|
+
# @!attribute [rw] dry_run
|
1844
|
+
# Checks if your request will succeed. `DryRun` is an optional
|
1845
|
+
# parameter.
|
1846
|
+
#
|
1847
|
+
# To learn more about how to use this parameter, see [Testing your KMS
|
1848
|
+
# API calls][1] in the *Key Management Service Developer Guide*.
|
1849
|
+
#
|
1850
|
+
#
|
1851
|
+
#
|
1852
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
|
1853
|
+
# @return [Boolean]
|
1854
|
+
#
|
1855
|
+
# @!attribute [rw] recipient
|
1856
|
+
# A signed [attestation document][1] from an Amazon Web Services Nitro
|
1857
|
+
# enclave and the encryption algorithm to use with the enclave's
|
1858
|
+
# public key. The only valid encryption algorithm is
|
1859
|
+
# `RSAES_OAEP_SHA_256`.
|
1860
|
+
#
|
1861
|
+
# This parameter only supports attestation documents for Amazon Web
|
1862
|
+
# Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon
|
1863
|
+
# Web Services Nitro Enclaves, use the [Amazon Web Services Nitro
|
1864
|
+
# Enclaves SDK][2] to generate the attestation document and then use
|
1865
|
+
# the Recipient parameter from any Amazon Web Services SDK to provide
|
1866
|
+
# the attestation document for the enclave.
|
1867
|
+
#
|
1868
|
+
# When you use this parameter, instead of returning a plaintext copy
|
1869
|
+
# of the shared secret, KMS encrypts the plaintext shared secret under
|
1870
|
+
# the public key in the attestation document, and returns the
|
1871
|
+
# resulting ciphertext in the `CiphertextForRecipient` field in the
|
1872
|
+
# response. This ciphertext can be decrypted only with the private key
|
1873
|
+
# in the enclave. The `CiphertextBlob` field in the response contains
|
1874
|
+
# the encrypted shared secret derived from the KMS key specified by
|
1875
|
+
# the `KeyId` parameter and public key specified by the `PublicKey`
|
1876
|
+
# parameter. The `SharedSecret` field in the response is null or
|
1877
|
+
# empty.
|
1878
|
+
#
|
1879
|
+
# For information about the interaction between KMS and Amazon Web
|
1880
|
+
# Services Nitro Enclaves, see [How Amazon Web Services Nitro Enclaves
|
1881
|
+
# uses KMS][3] in the *Key Management Service Developer Guide*.
|
1882
|
+
#
|
1883
|
+
#
|
1884
|
+
#
|
1885
|
+
# [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
|
1886
|
+
# [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
|
1887
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
1888
|
+
# @return [Types::RecipientInfo]
|
1889
|
+
#
|
1890
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeriveSharedSecretRequest AWS API Documentation
|
1891
|
+
#
|
1892
|
+
class DeriveSharedSecretRequest < Struct.new(
|
1893
|
+
:key_id,
|
1894
|
+
:key_agreement_algorithm,
|
1895
|
+
:public_key,
|
1896
|
+
:grant_tokens,
|
1897
|
+
:dry_run,
|
1898
|
+
:recipient)
|
1899
|
+
SENSITIVE = []
|
1900
|
+
include Aws::Structure
|
1901
|
+
end
|
1902
|
+
|
1903
|
+
# @!attribute [rw] key_id
|
1904
|
+
# Identifies the KMS key used to derive the shared secret.
|
1905
|
+
# @return [String]
|
1906
|
+
#
|
1907
|
+
# @!attribute [rw] shared_secret
|
1908
|
+
# The raw secret derived from the specified key agreement algorithm,
|
1909
|
+
# private key in the asymmetric KMS key, and your peer's public key.
|
1910
|
+
#
|
1911
|
+
# If the response includes the `CiphertextForRecipient` field, the
|
1912
|
+
# `SharedSecret` field is null or empty.
|
1913
|
+
# @return [String]
|
1914
|
+
#
|
1915
|
+
# @!attribute [rw] ciphertext_for_recipient
|
1916
|
+
# The plaintext shared secret encrypted with the public key in the
|
1917
|
+
# attestation document.
|
1918
|
+
#
|
1919
|
+
# This field is included in the response only when the `Recipient`
|
1920
|
+
# parameter in the request includes a valid attestation document from
|
1921
|
+
# an Amazon Web Services Nitro enclave. For information about the
|
1922
|
+
# interaction between KMS and Amazon Web Services Nitro Enclaves, see
|
1923
|
+
# [How Amazon Web Services Nitro Enclaves uses KMS][1] in the *Key
|
1924
|
+
# Management Service Developer Guide*.
|
1925
|
+
#
|
1926
|
+
#
|
1927
|
+
#
|
1928
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
|
1929
|
+
# @return [String]
|
1930
|
+
#
|
1931
|
+
# @!attribute [rw] key_agreement_algorithm
|
1932
|
+
# Identifies the key agreement algorithm used to derive the shared
|
1933
|
+
# secret.
|
1934
|
+
# @return [String]
|
1935
|
+
#
|
1936
|
+
# @!attribute [rw] key_origin
|
1937
|
+
# The source of the key material for the specified KMS key.
|
1938
|
+
#
|
1939
|
+
# When this value is `AWS_KMS`, KMS created the key material. When
|
1940
|
+
# this value is `EXTERNAL`, the key material was imported or the KMS
|
1941
|
+
# key doesn't have any key material.
|
1942
|
+
#
|
1943
|
+
# The only valid values for DeriveSharedSecret are `AWS_KMS` and
|
1944
|
+
# `EXTERNAL`. DeriveSharedSecret does not support KMS keys with a
|
1945
|
+
# `KeyOrigin` value of `AWS_CLOUDHSM` or `EXTERNAL_KEY_STORE`.
|
1946
|
+
# @return [String]
|
1947
|
+
#
|
1948
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeriveSharedSecretResponse AWS API Documentation
|
1949
|
+
#
|
1950
|
+
class DeriveSharedSecretResponse < Struct.new(
|
1951
|
+
:key_id,
|
1952
|
+
:shared_secret,
|
1953
|
+
:ciphertext_for_recipient,
|
1954
|
+
:key_agreement_algorithm,
|
1955
|
+
:key_origin)
|
1956
|
+
SENSITIVE = [:shared_secret]
|
1957
|
+
include Aws::Structure
|
1958
|
+
end
|
1959
|
+
|
1764
1960
|
# @!attribute [rw] custom_key_store_id
|
1765
1961
|
# Gets only information about the specified custom key store. Enter
|
1766
1962
|
# the key store ID.
|
@@ -2317,8 +2513,11 @@ module Aws::KMS
|
|
2317
2513
|
# `RSAES_OAEP_SHA_256`.
|
2318
2514
|
#
|
2319
2515
|
# This parameter only supports attestation documents for Amazon Web
|
2320
|
-
# Services Nitro Enclaves. To
|
2321
|
-
# Web Services Nitro Enclaves
|
2516
|
+
# Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon
|
2517
|
+
# Web Services Nitro Enclaves, use the [Amazon Web Services Nitro
|
2518
|
+
# Enclaves SDK][2] to generate the attestation document and then use
|
2519
|
+
# the Recipient parameter from any Amazon Web Services SDK to provide
|
2520
|
+
# the attestation document for the enclave.
|
2322
2521
|
#
|
2323
2522
|
# When you use this parameter, instead of returning a plaintext copy
|
2324
2523
|
# of the private data key, KMS encrypts the plaintext private data key
|
@@ -3388,12 +3587,12 @@ module Aws::KMS
|
|
3388
3587
|
# @return [String]
|
3389
3588
|
#
|
3390
3589
|
# @!attribute [rw] key_usage
|
3391
|
-
# The permitted use of the public key. Valid values
|
3392
|
-
# `ENCRYPT_DECRYPT`
|
3590
|
+
# The permitted use of the public key. Valid values for asymmetric key
|
3591
|
+
# pairs are `ENCRYPT_DECRYPT`, `SIGN_VERIFY`, and `KEY_AGREEMENT`.
|
3393
3592
|
#
|
3394
|
-
# This information is critical.
|
3395
|
-
# usage encrypts data outside of KMS, the ciphertext
|
3396
|
-
# decrypted.
|
3593
|
+
# This information is critical. For example, if a public key with
|
3594
|
+
# `SIGN_VERIFY` key usage encrypts data outside of KMS, the ciphertext
|
3595
|
+
# cannot be decrypted.
|
3397
3596
|
# @return [String]
|
3398
3597
|
#
|
3399
3598
|
# @!attribute [rw] encryption_algorithms
|
@@ -3414,6 +3613,12 @@ module Aws::KMS
|
|
3414
3613
|
# public key is `SIGN_VERIFY`.
|
3415
3614
|
# @return [Array<String>]
|
3416
3615
|
#
|
3616
|
+
# @!attribute [rw] key_agreement_algorithms
|
3617
|
+
# The key agreement algorithm used to derive a shared secret. This
|
3618
|
+
# field is present only when the KMS key has a `KeyUsage` value of
|
3619
|
+
# `KEY_AGREEMENT`.
|
3620
|
+
# @return [Array<String>]
|
3621
|
+
#
|
3417
3622
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKeyResponse AWS API Documentation
|
3418
3623
|
#
|
3419
3624
|
class GetPublicKeyResponse < Struct.new(
|
@@ -3423,7 +3628,8 @@ module Aws::KMS
|
|
3423
3628
|
:key_spec,
|
3424
3629
|
:key_usage,
|
3425
3630
|
:encryption_algorithms,
|
3426
|
-
:signing_algorithms
|
3631
|
+
:signing_algorithms,
|
3632
|
+
:key_agreement_algorithms)
|
3427
3633
|
SENSITIVE = []
|
3428
3634
|
include Aws::Structure
|
3429
3635
|
end
|
@@ -3811,8 +4017,9 @@ module Aws::KMS
|
|
3811
4017
|
# the `KeyUsage` must be `ENCRYPT_DECRYPT`. For signing and verifying
|
3812
4018
|
# messages, the `KeyUsage` must be `SIGN_VERIFY`. For generating and
|
3813
4019
|
# verifying message authentication codes (MACs), the `KeyUsage` must be
|
3814
|
-
# `GENERATE_VERIFY_MAC`.
|
3815
|
-
#
|
4020
|
+
# `GENERATE_VERIFY_MAC`. For deriving key agreement secrets, the
|
4021
|
+
# `KeyUsage` must be `KEY_AGREEMENT`. To find the `KeyUsage` of a KMS
|
4022
|
+
# key, use the DescribeKey operation.
|
3816
4023
|
#
|
3817
4024
|
# To find the encryption or signing algorithms supported for a
|
3818
4025
|
# particular KMS key, use the DescribeKey operation.
|
@@ -4091,6 +4298,10 @@ module Aws::KMS
|
|
4091
4298
|
# `SIGN_VERIFY`.
|
4092
4299
|
# @return [Array<String>]
|
4093
4300
|
#
|
4301
|
+
# @!attribute [rw] key_agreement_algorithms
|
4302
|
+
# The key agreement algorithm used to derive a shared secret.
|
4303
|
+
# @return [Array<String>]
|
4304
|
+
#
|
4094
4305
|
# @!attribute [rw] multi_region
|
4095
4306
|
# Indicates whether the KMS key is a multi-Region (`True`) or regional
|
4096
4307
|
# (`False`) key. This value is `True` for multi-Region primary and
|
@@ -4184,6 +4395,7 @@ module Aws::KMS
|
|
4184
4395
|
:key_spec,
|
4185
4396
|
:encryption_algorithms,
|
4186
4397
|
:signing_algorithms,
|
4398
|
+
:key_agreement_algorithms,
|
4187
4399
|
:multi_region,
|
4188
4400
|
:multi_region_configuration,
|
4189
4401
|
:pending_deletion_window_in_days,
|
data/lib/aws-sdk-kms.rb
CHANGED
data/sig/client.rbs
CHANGED
@@ -131,7 +131,7 @@ module Aws
|
|
131
131
|
key_id: ::String,
|
132
132
|
grantee_principal: ::String,
|
133
133
|
?retiring_principal: ::String,
|
134
|
-
operations: Array[("Decrypt" | "Encrypt" | "GenerateDataKey" | "GenerateDataKeyWithoutPlaintext" | "ReEncryptFrom" | "ReEncryptTo" | "Sign" | "Verify" | "GetPublicKey" | "CreateGrant" | "RetireGrant" | "DescribeKey" | "GenerateDataKeyPair" | "GenerateDataKeyPairWithoutPlaintext" | "GenerateMac" | "VerifyMac")],
|
134
|
+
operations: Array[("Decrypt" | "Encrypt" | "GenerateDataKey" | "GenerateDataKeyWithoutPlaintext" | "ReEncryptFrom" | "ReEncryptTo" | "Sign" | "Verify" | "GetPublicKey" | "CreateGrant" | "RetireGrant" | "DescribeKey" | "GenerateDataKeyPair" | "GenerateDataKeyPairWithoutPlaintext" | "GenerateMac" | "VerifyMac" | "DeriveSharedSecret")],
|
135
135
|
?constraints: {
|
136
136
|
encryption_context_subset: Hash[::String, ::String]?,
|
137
137
|
encryption_context_equals: Hash[::String, ::String]?
|
@@ -150,7 +150,7 @@ module Aws
|
|
150
150
|
def create_key: (
|
151
151
|
?policy: ::String,
|
152
152
|
?description: ::String,
|
153
|
-
?key_usage: ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC"),
|
153
|
+
?key_usage: ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC" | "KEY_AGREEMENT"),
|
154
154
|
?customer_master_key_spec: ("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"),
|
155
155
|
?key_spec: ("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"),
|
156
156
|
?origin: ("AWS_KMS" | "EXTERNAL" | "AWS_CLOUDHSM" | "EXTERNAL_KEY_STORE"),
|
@@ -210,6 +210,28 @@ module Aws
|
|
210
210
|
) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
|
211
211
|
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
|
212
212
|
|
213
|
+
interface _DeriveSharedSecretResponseSuccess
|
214
|
+
include ::Seahorse::Client::_ResponseSuccess[Types::DeriveSharedSecretResponse]
|
215
|
+
def key_id: () -> ::String
|
216
|
+
def shared_secret: () -> ::String
|
217
|
+
def ciphertext_for_recipient: () -> ::String
|
218
|
+
def key_agreement_algorithm: () -> ("ECDH")
|
219
|
+
def key_origin: () -> ("AWS_KMS" | "EXTERNAL" | "AWS_CLOUDHSM" | "EXTERNAL_KEY_STORE")
|
220
|
+
end
|
221
|
+
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KMS/Client.html#derive_shared_secret-instance_method
|
222
|
+
def derive_shared_secret: (
|
223
|
+
key_id: ::String,
|
224
|
+
key_agreement_algorithm: ("ECDH"),
|
225
|
+
public_key: ::String,
|
226
|
+
?grant_tokens: Array[::String],
|
227
|
+
?dry_run: bool,
|
228
|
+
?recipient: {
|
229
|
+
key_encryption_algorithm: ("RSAES_OAEP_SHA_256")?,
|
230
|
+
attestation_document: ::String?
|
231
|
+
}
|
232
|
+
) -> _DeriveSharedSecretResponseSuccess
|
233
|
+
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeriveSharedSecretResponseSuccess
|
234
|
+
|
213
235
|
interface _DescribeCustomKeyStoresResponseSuccess
|
214
236
|
include ::Seahorse::Client::_ResponseSuccess[Types::DescribeCustomKeyStoresResponse]
|
215
237
|
def custom_key_stores: () -> ::Array[Types::CustomKeyStoresListEntry]
|
@@ -433,8 +455,8 @@ module Aws
|
|
433
455
|
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KMS/Client.html#get_parameters_for_import-instance_method
|
434
456
|
def get_parameters_for_import: (
|
435
457
|
key_id: ::String,
|
436
|
-
wrapping_algorithm: ("RSAES_PKCS1_V1_5" | "RSAES_OAEP_SHA_1" | "RSAES_OAEP_SHA_256" | "RSA_AES_KEY_WRAP_SHA_1" | "RSA_AES_KEY_WRAP_SHA_256"),
|
437
|
-
wrapping_key_spec: ("RSA_2048" | "RSA_3072" | "RSA_4096")
|
458
|
+
wrapping_algorithm: ("RSAES_PKCS1_V1_5" | "RSAES_OAEP_SHA_1" | "RSAES_OAEP_SHA_256" | "RSA_AES_KEY_WRAP_SHA_1" | "RSA_AES_KEY_WRAP_SHA_256" | "SM2PKE"),
|
459
|
+
wrapping_key_spec: ("RSA_2048" | "RSA_3072" | "RSA_4096" | "SM2")
|
438
460
|
) -> _GetParametersForImportResponseSuccess
|
439
461
|
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetParametersForImportResponseSuccess
|
440
462
|
|
@@ -444,9 +466,10 @@ module Aws
|
|
444
466
|
def public_key: () -> ::String
|
445
467
|
def customer_master_key_spec: () -> ("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")
|
446
468
|
def key_spec: () -> ("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")
|
447
|
-
def key_usage: () -> ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC")
|
469
|
+
def key_usage: () -> ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC" | "KEY_AGREEMENT")
|
448
470
|
def encryption_algorithms: () -> ::Array[("SYMMETRIC_DEFAULT" | "RSAES_OAEP_SHA_1" | "RSAES_OAEP_SHA_256" | "SM2PKE")]
|
449
471
|
def signing_algorithms: () -> ::Array[("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")]
|
472
|
+
def key_agreement_algorithms: () -> ::Array[("ECDH")]
|
450
473
|
end
|
451
474
|
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KMS/Client.html#get_public_key-instance_method
|
452
475
|
def get_public_key: (
|
data/sig/types.rbs
CHANGED
@@ -99,7 +99,7 @@ module Aws::KMS
|
|
99
99
|
attr_accessor key_id: ::String
|
100
100
|
attr_accessor grantee_principal: ::String
|
101
101
|
attr_accessor retiring_principal: ::String
|
102
|
-
attr_accessor operations: ::Array[("Decrypt" | "Encrypt" | "GenerateDataKey" | "GenerateDataKeyWithoutPlaintext" | "ReEncryptFrom" | "ReEncryptTo" | "Sign" | "Verify" | "GetPublicKey" | "CreateGrant" | "RetireGrant" | "DescribeKey" | "GenerateDataKeyPair" | "GenerateDataKeyPairWithoutPlaintext" | "GenerateMac" | "VerifyMac")]
|
102
|
+
attr_accessor operations: ::Array[("Decrypt" | "Encrypt" | "GenerateDataKey" | "GenerateDataKeyWithoutPlaintext" | "ReEncryptFrom" | "ReEncryptTo" | "Sign" | "Verify" | "GetPublicKey" | "CreateGrant" | "RetireGrant" | "DescribeKey" | "GenerateDataKeyPair" | "GenerateDataKeyPairWithoutPlaintext" | "GenerateMac" | "VerifyMac" | "DeriveSharedSecret")]
|
103
103
|
attr_accessor constraints: Types::GrantConstraints
|
104
104
|
attr_accessor grant_tokens: ::Array[::String]
|
105
105
|
attr_accessor name: ::String
|
@@ -116,7 +116,7 @@ module Aws::KMS
|
|
116
116
|
class CreateKeyRequest
|
117
117
|
attr_accessor policy: ::String
|
118
118
|
attr_accessor description: ::String
|
119
|
-
attr_accessor key_usage: ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC")
|
119
|
+
attr_accessor key_usage: ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC" | "KEY_AGREEMENT")
|
120
120
|
attr_accessor customer_master_key_spec: ("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")
|
121
121
|
attr_accessor key_spec: ("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")
|
122
122
|
attr_accessor origin: ("AWS_KMS" | "EXTERNAL" | "AWS_CLOUDHSM" | "EXTERNAL_KEY_STORE")
|
@@ -208,6 +208,25 @@ module Aws::KMS
|
|
208
208
|
SENSITIVE: []
|
209
209
|
end
|
210
210
|
|
211
|
+
class DeriveSharedSecretRequest
|
212
|
+
attr_accessor key_id: ::String
|
213
|
+
attr_accessor key_agreement_algorithm: ("ECDH")
|
214
|
+
attr_accessor public_key: ::String
|
215
|
+
attr_accessor grant_tokens: ::Array[::String]
|
216
|
+
attr_accessor dry_run: bool
|
217
|
+
attr_accessor recipient: Types::RecipientInfo
|
218
|
+
SENSITIVE: []
|
219
|
+
end
|
220
|
+
|
221
|
+
class DeriveSharedSecretResponse
|
222
|
+
attr_accessor key_id: ::String
|
223
|
+
attr_accessor shared_secret: ::String
|
224
|
+
attr_accessor ciphertext_for_recipient: ::String
|
225
|
+
attr_accessor key_agreement_algorithm: ("ECDH")
|
226
|
+
attr_accessor key_origin: ("AWS_KMS" | "EXTERNAL" | "AWS_CLOUDHSM" | "EXTERNAL_KEY_STORE")
|
227
|
+
SENSITIVE: [:shared_secret]
|
228
|
+
end
|
229
|
+
|
211
230
|
class DescribeCustomKeyStoresRequest
|
212
231
|
attr_accessor custom_key_store_id: ::String
|
213
232
|
attr_accessor custom_key_store_name: ::String
|
@@ -424,8 +443,8 @@ module Aws::KMS
|
|
424
443
|
|
425
444
|
class GetParametersForImportRequest
|
426
445
|
attr_accessor key_id: ::String
|
427
|
-
attr_accessor wrapping_algorithm: ("RSAES_PKCS1_V1_5" | "RSAES_OAEP_SHA_1" | "RSAES_OAEP_SHA_256" | "RSA_AES_KEY_WRAP_SHA_1" | "RSA_AES_KEY_WRAP_SHA_256")
|
428
|
-
attr_accessor wrapping_key_spec: ("RSA_2048" | "RSA_3072" | "RSA_4096")
|
446
|
+
attr_accessor wrapping_algorithm: ("RSAES_PKCS1_V1_5" | "RSAES_OAEP_SHA_1" | "RSAES_OAEP_SHA_256" | "RSA_AES_KEY_WRAP_SHA_1" | "RSA_AES_KEY_WRAP_SHA_256" | "SM2PKE")
|
447
|
+
attr_accessor wrapping_key_spec: ("RSA_2048" | "RSA_3072" | "RSA_4096" | "SM2")
|
429
448
|
SENSITIVE: []
|
430
449
|
end
|
431
450
|
|
@@ -448,9 +467,10 @@ module Aws::KMS
|
|
448
467
|
attr_accessor public_key: ::String
|
449
468
|
attr_accessor customer_master_key_spec: ("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")
|
450
469
|
attr_accessor key_spec: ("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")
|
451
|
-
attr_accessor key_usage: ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC")
|
470
|
+
attr_accessor key_usage: ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC" | "KEY_AGREEMENT")
|
452
471
|
attr_accessor encryption_algorithms: ::Array[("SYMMETRIC_DEFAULT" | "RSAES_OAEP_SHA_1" | "RSAES_OAEP_SHA_256" | "SM2PKE")]
|
453
472
|
attr_accessor signing_algorithms: ::Array[("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")]
|
473
|
+
attr_accessor key_agreement_algorithms: ::Array[("ECDH")]
|
454
474
|
SENSITIVE: []
|
455
475
|
end
|
456
476
|
|
@@ -468,7 +488,7 @@ module Aws::KMS
|
|
468
488
|
attr_accessor grantee_principal: ::String
|
469
489
|
attr_accessor retiring_principal: ::String
|
470
490
|
attr_accessor issuing_account: ::String
|
471
|
-
attr_accessor operations: ::Array[("Decrypt" | "Encrypt" | "GenerateDataKey" | "GenerateDataKeyWithoutPlaintext" | "ReEncryptFrom" | "ReEncryptTo" | "Sign" | "Verify" | "GetPublicKey" | "CreateGrant" | "RetireGrant" | "DescribeKey" | "GenerateDataKeyPair" | "GenerateDataKeyPairWithoutPlaintext" | "GenerateMac" | "VerifyMac")]
|
491
|
+
attr_accessor operations: ::Array[("Decrypt" | "Encrypt" | "GenerateDataKey" | "GenerateDataKeyWithoutPlaintext" | "ReEncryptFrom" | "ReEncryptTo" | "Sign" | "Verify" | "GetPublicKey" | "CreateGrant" | "RetireGrant" | "DescribeKey" | "GenerateDataKeyPair" | "GenerateDataKeyPairWithoutPlaintext" | "GenerateMac" | "VerifyMac" | "DeriveSharedSecret")]
|
472
492
|
attr_accessor constraints: Types::GrantConstraints
|
473
493
|
SENSITIVE: []
|
474
494
|
end
|
@@ -573,7 +593,7 @@ module Aws::KMS
|
|
573
593
|
attr_accessor creation_date: ::Time
|
574
594
|
attr_accessor enabled: bool
|
575
595
|
attr_accessor description: ::String
|
576
|
-
attr_accessor key_usage: ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC")
|
596
|
+
attr_accessor key_usage: ("SIGN_VERIFY" | "ENCRYPT_DECRYPT" | "GENERATE_VERIFY_MAC" | "KEY_AGREEMENT")
|
577
597
|
attr_accessor key_state: ("Creating" | "Enabled" | "Disabled" | "PendingDeletion" | "PendingImport" | "PendingReplicaDeletion" | "Unavailable" | "Updating")
|
578
598
|
attr_accessor deletion_date: ::Time
|
579
599
|
attr_accessor valid_to: ::Time
|
@@ -586,6 +606,7 @@ module Aws::KMS
|
|
586
606
|
attr_accessor key_spec: ("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")
|
587
607
|
attr_accessor encryption_algorithms: ::Array[("SYMMETRIC_DEFAULT" | "RSAES_OAEP_SHA_1" | "RSAES_OAEP_SHA_256" | "SM2PKE")]
|
588
608
|
attr_accessor signing_algorithms: ::Array[("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")]
|
609
|
+
attr_accessor key_agreement_algorithms: ::Array[("ECDH")]
|
589
610
|
attr_accessor multi_region: bool
|
590
611
|
attr_accessor multi_region_configuration: Types::MultiRegionConfiguration
|
591
612
|
attr_accessor pending_deletion_window_in_days: ::Integer
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-kms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.87.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '3'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 3.
|
22
|
+
version: 3.199.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '3'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 3.
|
32
|
+
version: 3.199.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: aws-sigv4
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|