@aws-sdk/client-kms 3.596.0 → 3.598.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.
Files changed (39) hide show
  1. package/README.md +8 -0
  2. package/dist-cjs/index.js +72 -0
  3. package/dist-es/KMS.js +2 -0
  4. package/dist-es/commands/DeriveSharedSecretCommand.js +25 -0
  5. package/dist-es/commands/index.js +1 -0
  6. package/dist-es/models/models_0.js +9 -0
  7. package/dist-es/protocols/Aws_json1_1.js +40 -0
  8. package/dist-types/KMS.d.ts +7 -0
  9. package/dist-types/KMSClient.d.ts +3 -2
  10. package/dist-types/commands/CreateGrantCommand.d.ts +1 -1
  11. package/dist-types/commands/CreateKeyCommand.d.ts +11 -5
  12. package/dist-types/commands/DecryptCommand.d.ts +2 -1
  13. package/dist-types/commands/DeriveSharedSecretCommand.d.ts +244 -0
  14. package/dist-types/commands/DescribeKeyCommand.d.ts +4 -1
  15. package/dist-types/commands/EncryptCommand.d.ts +2 -1
  16. package/dist-types/commands/GenerateDataKeyCommand.d.ts +2 -1
  17. package/dist-types/commands/GenerateDataKeyPairCommand.d.ts +2 -1
  18. package/dist-types/commands/GenerateDataKeyPairWithoutPlaintextCommand.d.ts +2 -1
  19. package/dist-types/commands/GenerateDataKeyWithoutPlaintextCommand.d.ts +2 -1
  20. package/dist-types/commands/GenerateMacCommand.d.ts +2 -1
  21. package/dist-types/commands/GetParametersForImportCommand.d.ts +1 -1
  22. package/dist-types/commands/GetPublicKeyCommand.d.ts +8 -3
  23. package/dist-types/commands/ListGrantsCommand.d.ts +1 -1
  24. package/dist-types/commands/ListRetirableGrantsCommand.d.ts +1 -1
  25. package/dist-types/commands/ReEncryptCommand.d.ts +2 -1
  26. package/dist-types/commands/ReplicateKeyCommand.d.ts +4 -1
  27. package/dist-types/commands/SignCommand.d.ts +2 -1
  28. package/dist-types/commands/VerifyCommand.d.ts +2 -1
  29. package/dist-types/commands/VerifyMacCommand.d.ts +2 -1
  30. package/dist-types/commands/index.d.ts +1 -0
  31. package/dist-types/models/models_0.d.ts +182 -33
  32. package/dist-types/protocols/Aws_json1_1.d.ts +9 -0
  33. package/dist-types/ts3.4/KMS.d.ts +17 -0
  34. package/dist-types/ts3.4/KMSClient.d.ts +6 -0
  35. package/dist-types/ts3.4/commands/DeriveSharedSecretCommand.d.ts +40 -0
  36. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  37. package/dist-types/ts3.4/models/models_0.d.ts +27 -0
  38. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +12 -0
  39. package/package.json +37 -37
package/README.md CHANGED
@@ -377,6 +377,14 @@ DeleteImportedKeyMaterial
377
377
 
378
378
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/kms/command/DeleteImportedKeyMaterialCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-kms/Interface/DeleteImportedKeyMaterialCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-kms/Interface/DeleteImportedKeyMaterialCommandOutput/)
379
379
 
380
+ </details>
381
+ <details>
382
+ <summary>
383
+ DeriveSharedSecret
384
+ </summary>
385
+
386
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/kms/command/DeriveSharedSecretCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-kms/Interface/DeriveSharedSecretCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-kms/Interface/DeriveSharedSecretCommandOutput/)
387
+
380
388
  </details>
381
389
  <details>
382
390
  <summary>
package/dist-cjs/index.js CHANGED
@@ -53,6 +53,8 @@ __export(src_exports, {
53
53
  DeleteCustomKeyStoreCommand: () => DeleteCustomKeyStoreCommand,
54
54
  DeleteImportedKeyMaterialCommand: () => DeleteImportedKeyMaterialCommand,
55
55
  DependencyTimeoutException: () => DependencyTimeoutException,
56
+ DeriveSharedSecretCommand: () => DeriveSharedSecretCommand,
57
+ DeriveSharedSecretResponseFilterSensitiveLog: () => DeriveSharedSecretResponseFilterSensitiveLog,
56
58
  DescribeCustomKeyStoresCommand: () => DescribeCustomKeyStoresCommand,
57
59
  DescribeCustomKeyStoresResponseFilterSensitiveLog: () => DescribeCustomKeyStoresResponseFilterSensitiveLog,
58
60
  DescribeKeyCommand: () => DescribeKeyCommand,
@@ -103,6 +105,7 @@ __export(src_exports, {
103
105
  KMSInvalidSignatureException: () => KMSInvalidSignatureException,
104
106
  KMSInvalidStateException: () => KMSInvalidStateException,
105
107
  KMSServiceException: () => KMSServiceException,
108
+ KeyAgreementAlgorithmSpec: () => KeyAgreementAlgorithmSpec,
106
109
  KeyEncryptionMechanism: () => KeyEncryptionMechanism,
107
110
  KeyManagerType: () => KeyManagerType,
108
111
  KeySpec: () => KeySpec,
@@ -852,6 +855,7 @@ var XksProxyVpcEndpointServiceNotFoundException = _XksProxyVpcEndpointServiceNot
852
855
  var GrantOperation = {
853
856
  CreateGrant: "CreateGrant",
854
857
  Decrypt: "Decrypt",
858
+ DeriveSharedSecret: "DeriveSharedSecret",
855
859
  DescribeKey: "DescribeKey",
856
860
  Encrypt: "Encrypt",
857
861
  GenerateDataKey: "GenerateDataKey",
@@ -951,6 +955,7 @@ var KeySpec = {
951
955
  var KeyUsageType = {
952
956
  ENCRYPT_DECRYPT: "ENCRYPT_DECRYPT",
953
957
  GENERATE_VERIFY_MAC: "GENERATE_VERIFY_MAC",
958
+ KEY_AGREEMENT: "KEY_AGREEMENT",
954
959
  SIGN_VERIFY: "SIGN_VERIFY"
955
960
  };
956
961
  var OriginType = {
@@ -969,6 +974,9 @@ var ExpirationModelType = {
969
974
  KEY_MATERIAL_DOES_NOT_EXPIRE: "KEY_MATERIAL_DOES_NOT_EXPIRE",
970
975
  KEY_MATERIAL_EXPIRES: "KEY_MATERIAL_EXPIRES"
971
976
  };
977
+ var KeyAgreementAlgorithmSpec = {
978
+ ECDH: "ECDH"
979
+ };
972
980
  var KeyManagerType = {
973
981
  AWS: "AWS",
974
982
  CUSTOMER: "CUSTOMER"
@@ -1370,6 +1378,10 @@ var DecryptResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1370
1378
  ...obj,
1371
1379
  ...obj.Plaintext && { Plaintext: import_smithy_client.SENSITIVE_STRING }
1372
1380
  }), "DecryptResponseFilterSensitiveLog");
1381
+ var DeriveSharedSecretResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1382
+ ...obj,
1383
+ ...obj.SharedSecret && { SharedSecret: import_smithy_client.SENSITIVE_STRING }
1384
+ }), "DeriveSharedSecretResponseFilterSensitiveLog");
1373
1385
  var DescribeCustomKeyStoresResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1374
1386
  ...obj,
1375
1387
  ...obj.CustomKeyStores && {
@@ -1483,6 +1495,12 @@ var se_DeleteImportedKeyMaterialCommand = /* @__PURE__ */ __name(async (input, c
1483
1495
  body = JSON.stringify((0, import_smithy_client._json)(input));
1484
1496
  return buildHttpRpcRequest(context, headers, "/", void 0, body);
1485
1497
  }, "se_DeleteImportedKeyMaterialCommand");
1498
+ var se_DeriveSharedSecretCommand = /* @__PURE__ */ __name(async (input, context) => {
1499
+ const headers = sharedHeaders("DeriveSharedSecret");
1500
+ let body;
1501
+ body = JSON.stringify(se_DeriveSharedSecretRequest(input, context));
1502
+ return buildHttpRpcRequest(context, headers, "/", void 0, body);
1503
+ }, "se_DeriveSharedSecretCommand");
1486
1504
  var se_DescribeCustomKeyStoresCommand = /* @__PURE__ */ __name(async (input, context) => {
1487
1505
  const headers = sharedHeaders("DescribeCustomKeyStores");
1488
1506
  let body;
@@ -1856,6 +1874,19 @@ var de_DeleteImportedKeyMaterialCommand = /* @__PURE__ */ __name(async (output,
1856
1874
  };
1857
1875
  return response;
1858
1876
  }, "de_DeleteImportedKeyMaterialCommand");
1877
+ var de_DeriveSharedSecretCommand = /* @__PURE__ */ __name(async (output, context) => {
1878
+ if (output.statusCode >= 300) {
1879
+ return de_CommandError(output, context);
1880
+ }
1881
+ const data = await (0, import_core2.parseJsonBody)(output.body, context);
1882
+ let contents = {};
1883
+ contents = de_DeriveSharedSecretResponse(data, context);
1884
+ const response = {
1885
+ $metadata: deserializeMetadata(output),
1886
+ ...contents
1887
+ };
1888
+ return response;
1889
+ }, "de_DeriveSharedSecretCommand");
1859
1890
  var de_DescribeCustomKeyStoresCommand = /* @__PURE__ */ __name(async (output, context) => {
1860
1891
  if (output.statusCode >= 300) {
1861
1892
  return de_CommandError(output, context);
@@ -2969,6 +3000,16 @@ var se_DecryptRequest = /* @__PURE__ */ __name((input, context) => {
2969
3000
  Recipient: (_) => se_RecipientInfo(_, context)
2970
3001
  });
2971
3002
  }, "se_DecryptRequest");
3003
+ var se_DeriveSharedSecretRequest = /* @__PURE__ */ __name((input, context) => {
3004
+ return (0, import_smithy_client.take)(input, {
3005
+ DryRun: [],
3006
+ GrantTokens: import_smithy_client._json,
3007
+ KeyAgreementAlgorithm: [],
3008
+ KeyId: [],
3009
+ PublicKey: context.base64Encoder,
3010
+ Recipient: (_) => se_RecipientInfo(_, context)
3011
+ });
3012
+ }, "se_DeriveSharedSecretRequest");
2972
3013
  var se_EncryptRequest = /* @__PURE__ */ __name((input, context) => {
2973
3014
  return (0, import_smithy_client.take)(input, {
2974
3015
  DryRun: [],
@@ -3122,6 +3163,15 @@ var de_DecryptResponse = /* @__PURE__ */ __name((output, context) => {
3122
3163
  Plaintext: context.base64Decoder
3123
3164
  });
3124
3165
  }, "de_DecryptResponse");
3166
+ var de_DeriveSharedSecretResponse = /* @__PURE__ */ __name((output, context) => {
3167
+ return (0, import_smithy_client.take)(output, {
3168
+ CiphertextForRecipient: context.base64Decoder,
3169
+ KeyAgreementAlgorithm: import_smithy_client.expectString,
3170
+ KeyId: import_smithy_client.expectString,
3171
+ KeyOrigin: import_smithy_client.expectString,
3172
+ SharedSecret: context.base64Decoder
3173
+ });
3174
+ }, "de_DeriveSharedSecretResponse");
3125
3175
  var de_DescribeCustomKeyStoresResponse = /* @__PURE__ */ __name((output, context) => {
3126
3176
  return (0, import_smithy_client.take)(output, {
3127
3177
  CustomKeyStores: (_) => de_CustomKeyStoresList(_, context),
@@ -3207,6 +3257,7 @@ var de_GetPublicKeyResponse = /* @__PURE__ */ __name((output, context) => {
3207
3257
  return (0, import_smithy_client.take)(output, {
3208
3258
  CustomerMasterKeySpec: import_smithy_client.expectString,
3209
3259
  EncryptionAlgorithms: import_smithy_client._json,
3260
+ KeyAgreementAlgorithms: import_smithy_client._json,
3210
3261
  KeyId: import_smithy_client.expectString,
3211
3262
  KeySpec: import_smithy_client.expectString,
3212
3263
  KeyUsage: import_smithy_client.expectString,
@@ -3246,6 +3297,7 @@ var de_KeyMetadata = /* @__PURE__ */ __name((output, context) => {
3246
3297
  Enabled: import_smithy_client.expectBoolean,
3247
3298
  EncryptionAlgorithms: import_smithy_client._json,
3248
3299
  ExpirationModel: import_smithy_client.expectString,
3300
+ KeyAgreementAlgorithms: import_smithy_client._json,
3249
3301
  KeyId: import_smithy_client.expectString,
3250
3302
  KeyManager: import_smithy_client.expectString,
3251
3303
  KeySpec: import_smithy_client.expectString,
@@ -3516,6 +3568,22 @@ var _DeleteImportedKeyMaterialCommand = class _DeleteImportedKeyMaterialCommand
3516
3568
  __name(_DeleteImportedKeyMaterialCommand, "DeleteImportedKeyMaterialCommand");
3517
3569
  var DeleteImportedKeyMaterialCommand = _DeleteImportedKeyMaterialCommand;
3518
3570
 
3571
+ // src/commands/DeriveSharedSecretCommand.ts
3572
+
3573
+
3574
+
3575
+ var _DeriveSharedSecretCommand = class _DeriveSharedSecretCommand extends import_smithy_client.Command.classBuilder().ep({
3576
+ ...commonParams
3577
+ }).m(function(Command, cs, config, o) {
3578
+ return [
3579
+ (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
3580
+ (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions())
3581
+ ];
3582
+ }).s("TrentService", "DeriveSharedSecret", {}).n("KMSClient", "DeriveSharedSecretCommand").f(void 0, DeriveSharedSecretResponseFilterSensitiveLog).ser(se_DeriveSharedSecretCommand).de(de_DeriveSharedSecretCommand).build() {
3583
+ };
3584
+ __name(_DeriveSharedSecretCommand, "DeriveSharedSecretCommand");
3585
+ var DeriveSharedSecretCommand = _DeriveSharedSecretCommand;
3586
+
3519
3587
  // src/commands/DescribeCustomKeyStoresCommand.ts
3520
3588
 
3521
3589
 
@@ -4200,6 +4268,7 @@ var commands = {
4200
4268
  DeleteAliasCommand,
4201
4269
  DeleteCustomKeyStoreCommand,
4202
4270
  DeleteImportedKeyMaterialCommand,
4271
+ DeriveSharedSecretCommand,
4203
4272
  DescribeCustomKeyStoresCommand,
4204
4273
  DescribeKeyCommand,
4205
4274
  DisableKeyCommand,
@@ -4298,6 +4367,7 @@ var paginateListRetirableGrants = (0, import_core.createPaginator)(KMSClient, Li
4298
4367
  DeleteAliasCommand,
4299
4368
  DeleteCustomKeyStoreCommand,
4300
4369
  DeleteImportedKeyMaterialCommand,
4370
+ DeriveSharedSecretCommand,
4301
4371
  DescribeCustomKeyStoresCommand,
4302
4372
  DescribeKeyCommand,
4303
4373
  DisableKeyCommand,
@@ -4390,6 +4460,7 @@ var paginateListRetirableGrants = (0, import_core.createPaginator)(KMSClient, Li
4390
4460
  OriginType,
4391
4461
  EncryptionAlgorithmSpec,
4392
4462
  ExpirationModelType,
4463
+ KeyAgreementAlgorithmSpec,
4393
4464
  KeyManagerType,
4394
4465
  KeyState,
4395
4466
  MacAlgorithmSpec,
@@ -4424,6 +4495,7 @@ var paginateListRetirableGrants = (0, import_core.createPaginator)(KMSClient, Li
4424
4495
  XksProxyConfigurationTypeFilterSensitiveLog,
4425
4496
  CustomKeyStoresListEntryFilterSensitiveLog,
4426
4497
  DecryptResponseFilterSensitiveLog,
4498
+ DeriveSharedSecretResponseFilterSensitiveLog,
4427
4499
  DescribeCustomKeyStoresResponseFilterSensitiveLog,
4428
4500
  EncryptRequestFilterSensitiveLog,
4429
4501
  GenerateDataKeyResponseFilterSensitiveLog,
package/dist-es/KMS.js CHANGED
@@ -9,6 +9,7 @@ import { DecryptCommand } from "./commands/DecryptCommand";
9
9
  import { DeleteAliasCommand } from "./commands/DeleteAliasCommand";
10
10
  import { DeleteCustomKeyStoreCommand, } from "./commands/DeleteCustomKeyStoreCommand";
11
11
  import { DeleteImportedKeyMaterialCommand, } from "./commands/DeleteImportedKeyMaterialCommand";
12
+ import { DeriveSharedSecretCommand, } from "./commands/DeriveSharedSecretCommand";
12
13
  import { DescribeCustomKeyStoresCommand, } from "./commands/DescribeCustomKeyStoresCommand";
13
14
  import { DescribeKeyCommand } from "./commands/DescribeKeyCommand";
14
15
  import { DisableKeyCommand } from "./commands/DisableKeyCommand";
@@ -63,6 +64,7 @@ const commands = {
63
64
  DeleteAliasCommand,
64
65
  DeleteCustomKeyStoreCommand,
65
66
  DeleteImportedKeyMaterialCommand,
67
+ DeriveSharedSecretCommand,
66
68
  DescribeCustomKeyStoresCommand,
67
69
  DescribeKeyCommand,
68
70
  DisableKeyCommand,
@@ -0,0 +1,25 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { commonParams } from "../endpoint/EndpointParameters";
5
+ import { DeriveSharedSecretResponseFilterSensitiveLog, } from "../models/models_0";
6
+ import { de_DeriveSharedSecretCommand, se_DeriveSharedSecretCommand } from "../protocols/Aws_json1_1";
7
+ export { $Command };
8
+ export class DeriveSharedSecretCommand extends $Command
9
+ .classBuilder()
10
+ .ep({
11
+ ...commonParams,
12
+ })
13
+ .m(function (Command, cs, config, o) {
14
+ return [
15
+ getSerdePlugin(config, this.serialize, this.deserialize),
16
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
17
+ ];
18
+ })
19
+ .s("TrentService", "DeriveSharedSecret", {})
20
+ .n("KMSClient", "DeriveSharedSecretCommand")
21
+ .f(void 0, DeriveSharedSecretResponseFilterSensitiveLog)
22
+ .ser(se_DeriveSharedSecretCommand)
23
+ .de(de_DeriveSharedSecretCommand)
24
+ .build() {
25
+ }
@@ -8,6 +8,7 @@ export * from "./DecryptCommand";
8
8
  export * from "./DeleteAliasCommand";
9
9
  export * from "./DeleteCustomKeyStoreCommand";
10
10
  export * from "./DeleteImportedKeyMaterialCommand";
11
+ export * from "./DeriveSharedSecretCommand";
11
12
  export * from "./DescribeCustomKeyStoresCommand";
12
13
  export * from "./DescribeKeyCommand";
13
14
  export * from "./DisableKeyCommand";
@@ -370,6 +370,7 @@ export class XksProxyVpcEndpointServiceNotFoundException extends __BaseException
370
370
  export const GrantOperation = {
371
371
  CreateGrant: "CreateGrant",
372
372
  Decrypt: "Decrypt",
373
+ DeriveSharedSecret: "DeriveSharedSecret",
373
374
  DescribeKey: "DescribeKey",
374
375
  Encrypt: "Encrypt",
375
376
  GenerateDataKey: "GenerateDataKey",
@@ -454,6 +455,7 @@ export const KeySpec = {
454
455
  export const KeyUsageType = {
455
456
  ENCRYPT_DECRYPT: "ENCRYPT_DECRYPT",
456
457
  GENERATE_VERIFY_MAC: "GENERATE_VERIFY_MAC",
458
+ KEY_AGREEMENT: "KEY_AGREEMENT",
457
459
  SIGN_VERIFY: "SIGN_VERIFY",
458
460
  };
459
461
  export const OriginType = {
@@ -472,6 +474,9 @@ export const ExpirationModelType = {
472
474
  KEY_MATERIAL_DOES_NOT_EXPIRE: "KEY_MATERIAL_DOES_NOT_EXPIRE",
473
475
  KEY_MATERIAL_EXPIRES: "KEY_MATERIAL_EXPIRES",
474
476
  };
477
+ export const KeyAgreementAlgorithmSpec = {
478
+ ECDH: "ECDH",
479
+ };
475
480
  export const KeyManagerType = {
476
481
  AWS: "AWS",
477
482
  CUSTOMER: "CUSTOMER",
@@ -781,6 +786,10 @@ export const DecryptResponseFilterSensitiveLog = (obj) => ({
781
786
  ...obj,
782
787
  ...(obj.Plaintext && { Plaintext: SENSITIVE_STRING }),
783
788
  });
789
+ export const DeriveSharedSecretResponseFilterSensitiveLog = (obj) => ({
790
+ ...obj,
791
+ ...(obj.SharedSecret && { SharedSecret: SENSITIVE_STRING }),
792
+ });
784
793
  export const DescribeCustomKeyStoresResponseFilterSensitiveLog = (obj) => ({
785
794
  ...obj,
786
795
  ...(obj.CustomKeyStores && {
@@ -63,6 +63,12 @@ export const se_DeleteImportedKeyMaterialCommand = async (input, context) => {
63
63
  body = JSON.stringify(_json(input));
64
64
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
65
65
  };
66
+ export const se_DeriveSharedSecretCommand = async (input, context) => {
67
+ const headers = sharedHeaders("DeriveSharedSecret");
68
+ let body;
69
+ body = JSON.stringify(se_DeriveSharedSecretRequest(input, context));
70
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
71
+ };
66
72
  export const se_DescribeCustomKeyStoresCommand = async (input, context) => {
67
73
  const headers = sharedHeaders("DescribeCustomKeyStores");
68
74
  let body;
@@ -436,6 +442,19 @@ export const de_DeleteImportedKeyMaterialCommand = async (output, context) => {
436
442
  };
437
443
  return response;
438
444
  };
445
+ export const de_DeriveSharedSecretCommand = async (output, context) => {
446
+ if (output.statusCode >= 300) {
447
+ return de_CommandError(output, context);
448
+ }
449
+ const data = await parseBody(output.body, context);
450
+ let contents = {};
451
+ contents = de_DeriveSharedSecretResponse(data, context);
452
+ const response = {
453
+ $metadata: deserializeMetadata(output),
454
+ ...contents,
455
+ };
456
+ return response;
457
+ };
439
458
  export const de_DescribeCustomKeyStoresCommand = async (output, context) => {
440
459
  if (output.statusCode >= 300) {
441
460
  return de_CommandError(output, context);
@@ -1549,6 +1568,16 @@ const se_DecryptRequest = (input, context) => {
1549
1568
  Recipient: (_) => se_RecipientInfo(_, context),
1550
1569
  });
1551
1570
  };
1571
+ const se_DeriveSharedSecretRequest = (input, context) => {
1572
+ return take(input, {
1573
+ DryRun: [],
1574
+ GrantTokens: _json,
1575
+ KeyAgreementAlgorithm: [],
1576
+ KeyId: [],
1577
+ PublicKey: context.base64Encoder,
1578
+ Recipient: (_) => se_RecipientInfo(_, context),
1579
+ });
1580
+ };
1552
1581
  const se_EncryptRequest = (input, context) => {
1553
1582
  return take(input, {
1554
1583
  DryRun: [],
@@ -1706,6 +1735,15 @@ const de_DecryptResponse = (output, context) => {
1706
1735
  Plaintext: context.base64Decoder,
1707
1736
  });
1708
1737
  };
1738
+ const de_DeriveSharedSecretResponse = (output, context) => {
1739
+ return take(output, {
1740
+ CiphertextForRecipient: context.base64Decoder,
1741
+ KeyAgreementAlgorithm: __expectString,
1742
+ KeyId: __expectString,
1743
+ KeyOrigin: __expectString,
1744
+ SharedSecret: context.base64Decoder,
1745
+ });
1746
+ };
1709
1747
  const de_DescribeCustomKeyStoresResponse = (output, context) => {
1710
1748
  return take(output, {
1711
1749
  CustomKeyStores: (_) => de_CustomKeyStoresList(_, context),
@@ -1791,6 +1829,7 @@ const de_GetPublicKeyResponse = (output, context) => {
1791
1829
  return take(output, {
1792
1830
  CustomerMasterKeySpec: __expectString,
1793
1831
  EncryptionAlgorithms: _json,
1832
+ KeyAgreementAlgorithms: _json,
1794
1833
  KeyId: __expectString,
1795
1834
  KeySpec: __expectString,
1796
1835
  KeyUsage: __expectString,
@@ -1832,6 +1871,7 @@ const de_KeyMetadata = (output, context) => {
1832
1871
  Enabled: __expectBoolean,
1833
1872
  EncryptionAlgorithms: _json,
1834
1873
  ExpirationModel: __expectString,
1874
+ KeyAgreementAlgorithms: _json,
1835
1875
  KeyId: __expectString,
1836
1876
  KeyManager: __expectString,
1837
1877
  KeySpec: __expectString,
@@ -9,6 +9,7 @@ import { DecryptCommandInput, DecryptCommandOutput } from "./commands/DecryptCom
9
9
  import { DeleteAliasCommandInput, DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand";
10
10
  import { DeleteCustomKeyStoreCommandInput, DeleteCustomKeyStoreCommandOutput } from "./commands/DeleteCustomKeyStoreCommand";
11
11
  import { DeleteImportedKeyMaterialCommandInput, DeleteImportedKeyMaterialCommandOutput } from "./commands/DeleteImportedKeyMaterialCommand";
12
+ import { DeriveSharedSecretCommandInput, DeriveSharedSecretCommandOutput } from "./commands/DeriveSharedSecretCommand";
12
13
  import { DescribeCustomKeyStoresCommandInput, DescribeCustomKeyStoresCommandOutput } from "./commands/DescribeCustomKeyStoresCommand";
13
14
  import { DescribeKeyCommandInput, DescribeKeyCommandOutput } from "./commands/DescribeKeyCommand";
14
15
  import { DisableKeyCommandInput, DisableKeyCommandOutput } from "./commands/DisableKeyCommand";
@@ -114,6 +115,12 @@ export interface KMS {
114
115
  deleteImportedKeyMaterial(args: DeleteImportedKeyMaterialCommandInput, options?: __HttpHandlerOptions): Promise<DeleteImportedKeyMaterialCommandOutput>;
115
116
  deleteImportedKeyMaterial(args: DeleteImportedKeyMaterialCommandInput, cb: (err: any, data?: DeleteImportedKeyMaterialCommandOutput) => void): void;
116
117
  deleteImportedKeyMaterial(args: DeleteImportedKeyMaterialCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteImportedKeyMaterialCommandOutput) => void): void;
118
+ /**
119
+ * @see {@link DeriveSharedSecretCommand}
120
+ */
121
+ deriveSharedSecret(args: DeriveSharedSecretCommandInput, options?: __HttpHandlerOptions): Promise<DeriveSharedSecretCommandOutput>;
122
+ deriveSharedSecret(args: DeriveSharedSecretCommandInput, cb: (err: any, data?: DeriveSharedSecretCommandOutput) => void): void;
123
+ deriveSharedSecret(args: DeriveSharedSecretCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeriveSharedSecretCommandOutput) => void): void;
117
124
  /**
118
125
  * @see {@link DescribeCustomKeyStoresCommand}
119
126
  */
@@ -17,6 +17,7 @@ import { DecryptCommandInput, DecryptCommandOutput } from "./commands/DecryptCom
17
17
  import { DeleteAliasCommandInput, DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand";
18
18
  import { DeleteCustomKeyStoreCommandInput, DeleteCustomKeyStoreCommandOutput } from "./commands/DeleteCustomKeyStoreCommand";
19
19
  import { DeleteImportedKeyMaterialCommandInput, DeleteImportedKeyMaterialCommandOutput } from "./commands/DeleteImportedKeyMaterialCommand";
20
+ import { DeriveSharedSecretCommandInput, DeriveSharedSecretCommandOutput } from "./commands/DeriveSharedSecretCommand";
20
21
  import { DescribeCustomKeyStoresCommandInput, DescribeCustomKeyStoresCommandOutput } from "./commands/DescribeCustomKeyStoresCommand";
21
22
  import { DescribeKeyCommandInput, DescribeKeyCommandOutput } from "./commands/DescribeKeyCommand";
22
23
  import { DisableKeyCommandInput, DisableKeyCommandOutput } from "./commands/DisableKeyCommand";
@@ -65,11 +66,11 @@ export { __Client };
65
66
  /**
66
67
  * @public
67
68
  */
68
- export type ServiceInputTypes = CancelKeyDeletionCommandInput | ConnectCustomKeyStoreCommandInput | CreateAliasCommandInput | CreateCustomKeyStoreCommandInput | CreateGrantCommandInput | CreateKeyCommandInput | DecryptCommandInput | DeleteAliasCommandInput | DeleteCustomKeyStoreCommandInput | DeleteImportedKeyMaterialCommandInput | DescribeCustomKeyStoresCommandInput | DescribeKeyCommandInput | DisableKeyCommandInput | DisableKeyRotationCommandInput | DisconnectCustomKeyStoreCommandInput | EnableKeyCommandInput | EnableKeyRotationCommandInput | EncryptCommandInput | GenerateDataKeyCommandInput | GenerateDataKeyPairCommandInput | GenerateDataKeyPairWithoutPlaintextCommandInput | GenerateDataKeyWithoutPlaintextCommandInput | GenerateMacCommandInput | GenerateRandomCommandInput | GetKeyPolicyCommandInput | GetKeyRotationStatusCommandInput | GetParametersForImportCommandInput | GetPublicKeyCommandInput | ImportKeyMaterialCommandInput | ListAliasesCommandInput | ListGrantsCommandInput | ListKeyPoliciesCommandInput | ListKeyRotationsCommandInput | ListKeysCommandInput | ListResourceTagsCommandInput | ListRetirableGrantsCommandInput | PutKeyPolicyCommandInput | ReEncryptCommandInput | ReplicateKeyCommandInput | RetireGrantCommandInput | RevokeGrantCommandInput | RotateKeyOnDemandCommandInput | ScheduleKeyDeletionCommandInput | SignCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAliasCommandInput | UpdateCustomKeyStoreCommandInput | UpdateKeyDescriptionCommandInput | UpdatePrimaryRegionCommandInput | VerifyCommandInput | VerifyMacCommandInput;
69
+ export type ServiceInputTypes = CancelKeyDeletionCommandInput | ConnectCustomKeyStoreCommandInput | CreateAliasCommandInput | CreateCustomKeyStoreCommandInput | CreateGrantCommandInput | CreateKeyCommandInput | DecryptCommandInput | DeleteAliasCommandInput | DeleteCustomKeyStoreCommandInput | DeleteImportedKeyMaterialCommandInput | DeriveSharedSecretCommandInput | DescribeCustomKeyStoresCommandInput | DescribeKeyCommandInput | DisableKeyCommandInput | DisableKeyRotationCommandInput | DisconnectCustomKeyStoreCommandInput | EnableKeyCommandInput | EnableKeyRotationCommandInput | EncryptCommandInput | GenerateDataKeyCommandInput | GenerateDataKeyPairCommandInput | GenerateDataKeyPairWithoutPlaintextCommandInput | GenerateDataKeyWithoutPlaintextCommandInput | GenerateMacCommandInput | GenerateRandomCommandInput | GetKeyPolicyCommandInput | GetKeyRotationStatusCommandInput | GetParametersForImportCommandInput | GetPublicKeyCommandInput | ImportKeyMaterialCommandInput | ListAliasesCommandInput | ListGrantsCommandInput | ListKeyPoliciesCommandInput | ListKeyRotationsCommandInput | ListKeysCommandInput | ListResourceTagsCommandInput | ListRetirableGrantsCommandInput | PutKeyPolicyCommandInput | ReEncryptCommandInput | ReplicateKeyCommandInput | RetireGrantCommandInput | RevokeGrantCommandInput | RotateKeyOnDemandCommandInput | ScheduleKeyDeletionCommandInput | SignCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAliasCommandInput | UpdateCustomKeyStoreCommandInput | UpdateKeyDescriptionCommandInput | UpdatePrimaryRegionCommandInput | VerifyCommandInput | VerifyMacCommandInput;
69
70
  /**
70
71
  * @public
71
72
  */
72
- export type ServiceOutputTypes = CancelKeyDeletionCommandOutput | ConnectCustomKeyStoreCommandOutput | CreateAliasCommandOutput | CreateCustomKeyStoreCommandOutput | CreateGrantCommandOutput | CreateKeyCommandOutput | DecryptCommandOutput | DeleteAliasCommandOutput | DeleteCustomKeyStoreCommandOutput | DeleteImportedKeyMaterialCommandOutput | DescribeCustomKeyStoresCommandOutput | DescribeKeyCommandOutput | DisableKeyCommandOutput | DisableKeyRotationCommandOutput | DisconnectCustomKeyStoreCommandOutput | EnableKeyCommandOutput | EnableKeyRotationCommandOutput | EncryptCommandOutput | GenerateDataKeyCommandOutput | GenerateDataKeyPairCommandOutput | GenerateDataKeyPairWithoutPlaintextCommandOutput | GenerateDataKeyWithoutPlaintextCommandOutput | GenerateMacCommandOutput | GenerateRandomCommandOutput | GetKeyPolicyCommandOutput | GetKeyRotationStatusCommandOutput | GetParametersForImportCommandOutput | GetPublicKeyCommandOutput | ImportKeyMaterialCommandOutput | ListAliasesCommandOutput | ListGrantsCommandOutput | ListKeyPoliciesCommandOutput | ListKeyRotationsCommandOutput | ListKeysCommandOutput | ListResourceTagsCommandOutput | ListRetirableGrantsCommandOutput | PutKeyPolicyCommandOutput | ReEncryptCommandOutput | ReplicateKeyCommandOutput | RetireGrantCommandOutput | RevokeGrantCommandOutput | RotateKeyOnDemandCommandOutput | ScheduleKeyDeletionCommandOutput | SignCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAliasCommandOutput | UpdateCustomKeyStoreCommandOutput | UpdateKeyDescriptionCommandOutput | UpdatePrimaryRegionCommandOutput | VerifyCommandOutput | VerifyMacCommandOutput;
73
+ export type ServiceOutputTypes = CancelKeyDeletionCommandOutput | ConnectCustomKeyStoreCommandOutput | CreateAliasCommandOutput | CreateCustomKeyStoreCommandOutput | CreateGrantCommandOutput | CreateKeyCommandOutput | DecryptCommandOutput | DeleteAliasCommandOutput | DeleteCustomKeyStoreCommandOutput | DeleteImportedKeyMaterialCommandOutput | DeriveSharedSecretCommandOutput | DescribeCustomKeyStoresCommandOutput | DescribeKeyCommandOutput | DisableKeyCommandOutput | DisableKeyRotationCommandOutput | DisconnectCustomKeyStoreCommandOutput | EnableKeyCommandOutput | EnableKeyRotationCommandOutput | EncryptCommandOutput | GenerateDataKeyCommandOutput | GenerateDataKeyPairCommandOutput | GenerateDataKeyPairWithoutPlaintextCommandOutput | GenerateDataKeyWithoutPlaintextCommandOutput | GenerateMacCommandOutput | GenerateRandomCommandOutput | GetKeyPolicyCommandOutput | GetKeyRotationStatusCommandOutput | GetParametersForImportCommandOutput | GetPublicKeyCommandOutput | ImportKeyMaterialCommandOutput | ListAliasesCommandOutput | ListGrantsCommandOutput | ListKeyPoliciesCommandOutput | ListKeyRotationsCommandOutput | ListKeysCommandOutput | ListResourceTagsCommandOutput | ListRetirableGrantsCommandOutput | PutKeyPolicyCommandOutput | ReEncryptCommandOutput | ReplicateKeyCommandOutput | RetireGrantCommandOutput | RevokeGrantCommandOutput | RotateKeyOnDemandCommandOutput | ScheduleKeyDeletionCommandOutput | SignCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAliasCommandOutput | UpdateCustomKeyStoreCommandOutput | UpdateKeyDescriptionCommandOutput | UpdatePrimaryRegionCommandOutput | VerifyCommandOutput | VerifyMacCommandOutput;
73
74
  /**
74
75
  * @public
75
76
  */
@@ -103,7 +103,7 @@ declare const CreateGrantCommand_base: {
103
103
  * GranteePrincipal: "STRING_VALUE", // required
104
104
  * RetiringPrincipal: "STRING_VALUE",
105
105
  * Operations: [ // GrantOperationList // required
106
- * "Decrypt" || "Encrypt" || "GenerateDataKey" || "GenerateDataKeyWithoutPlaintext" || "ReEncryptFrom" || "ReEncryptTo" || "Sign" || "Verify" || "GetPublicKey" || "CreateGrant" || "RetireGrant" || "DescribeKey" || "GenerateDataKeyPair" || "GenerateDataKeyPairWithoutPlaintext" || "GenerateMac" || "VerifyMac",
106
+ * "Decrypt" || "Encrypt" || "GenerateDataKey" || "GenerateDataKeyWithoutPlaintext" || "ReEncryptFrom" || "ReEncryptTo" || "Sign" || "Verify" || "GetPublicKey" || "CreateGrant" || "RetireGrant" || "DescribeKey" || "GenerateDataKeyPair" || "GenerateDataKeyPairWithoutPlaintext" || "GenerateMac" || "VerifyMac" || "DeriveSharedSecret",
107
107
  * ],
108
108
  * Constraints: { // GrantConstraints
109
109
  * EncryptionContextSubset: { // EncryptionContextType
@@ -70,9 +70,12 @@ declare const CreateKeyCommand_base: {
70
70
  * <p>Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an
71
71
  * SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves
72
72
  * KMS unencrypted. However, you can use the <a>GetPublicKey</a> operation to
73
- * download the public key so it can be used outside of KMS. KMS keys with RSA or SM2 key
74
- * pairs can be used to encrypt or decrypt data or sign and verify messages (but not both).
75
- * KMS keys with ECC key pairs can be used only to sign and verify messages. For
73
+ * download the public key so it can be used outside of KMS. Each KMS key can have only one key usage. KMS keys with RSA key
74
+ * pairs can be used to encrypt and decrypt data or sign and verify messages (but not both).
75
+ * KMS keys with NIST-recommended ECC key pairs can be used to sign and verify messages or
76
+ * derive shared secrets (but not both). KMS keys with <code>ECC_SECG_P256K1</code>
77
+ * can be used only to sign and verify messages. KMS keys with SM2 key pairs (China Regions only)
78
+ * can be used to either encrypt and decrypt data, sign and verify messages, or derive shared secrets (you must choose one key usage type). For
76
79
  * information about asymmetric KMS keys, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric KMS keys</a> in the
77
80
  * <i>Key Management Service Developer Guide</i>.</p>
78
81
  * <p> </p>
@@ -203,7 +206,7 @@ declare const CreateKeyCommand_base: {
203
206
  * const input = { // CreateKeyRequest
204
207
  * Policy: "STRING_VALUE",
205
208
  * Description: "STRING_VALUE",
206
- * KeyUsage: "SIGN_VERIFY" || "ENCRYPT_DECRYPT" || "GENERATE_VERIFY_MAC",
209
+ * KeyUsage: "SIGN_VERIFY" || "ENCRYPT_DECRYPT" || "GENERATE_VERIFY_MAC" || "KEY_AGREEMENT",
207
210
  * CustomerMasterKeySpec: "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",
208
211
  * KeySpec: "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",
209
212
  * Origin: "AWS_KMS" || "EXTERNAL" || "AWS_CLOUDHSM" || "EXTERNAL_KEY_STORE",
@@ -228,7 +231,7 @@ declare const CreateKeyCommand_base: {
228
231
  * // CreationDate: new Date("TIMESTAMP"),
229
232
  * // Enabled: true || false,
230
233
  * // Description: "STRING_VALUE",
231
- * // KeyUsage: "SIGN_VERIFY" || "ENCRYPT_DECRYPT" || "GENERATE_VERIFY_MAC",
234
+ * // KeyUsage: "SIGN_VERIFY" || "ENCRYPT_DECRYPT" || "GENERATE_VERIFY_MAC" || "KEY_AGREEMENT",
232
235
  * // KeyState: "Creating" || "Enabled" || "Disabled" || "PendingDeletion" || "PendingImport" || "PendingReplicaDeletion" || "Unavailable" || "Updating",
233
236
  * // DeletionDate: new Date("TIMESTAMP"),
234
237
  * // ValidTo: new Date("TIMESTAMP"),
@@ -245,6 +248,9 @@ declare const CreateKeyCommand_base: {
245
248
  * // SigningAlgorithms: [ // SigningAlgorithmSpecList
246
249
  * // "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",
247
250
  * // ],
251
+ * // KeyAgreementAlgorithms: [ // KeyAgreementAlgorithmSpecList
252
+ * // "ECDH",
253
+ * // ],
248
254
  * // MultiRegion: true || false,
249
255
  * // MultiRegionConfiguration: { // MultiRegionConfiguration
250
256
  * // MultiRegionKeyType: "PRIMARY" || "REPLICA",
@@ -206,7 +206,8 @@ declare const DecryptCommand_base: {
206
206
  * <code>KeyUsage</code> must be <code>ENCRYPT_DECRYPT</code>. For signing and verifying
207
207
  * messages, the <code>KeyUsage</code> must be <code>SIGN_VERIFY</code>. For generating and
208
208
  * verifying message authentication codes (MACs), the <code>KeyUsage</code> must be
209
- * <code>GENERATE_VERIFY_MAC</code>. To find the <code>KeyUsage</code> of a KMS key, use the
209
+ * <code>GENERATE_VERIFY_MAC</code>. For deriving key agreement secrets, the
210
+ * <code>KeyUsage</code> must be <code>KEY_AGREEMENT</code>. To find the <code>KeyUsage</code> of a KMS key, use the
210
211
  * <a>DescribeKey</a> operation.</p>
211
212
  * <p>To find the encryption or signing algorithms supported for a particular KMS key, use the
212
213
  * <a>DescribeKey</a> operation.</p>