@aws-sdk/client-payment-cryptography 3.777.0 → 3.778.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.
package/dist-cjs/index.js CHANGED
@@ -27,6 +27,9 @@ __export(index_exports, {
27
27
  CreateKeyCommand: () => CreateKeyCommand,
28
28
  DeleteAliasCommand: () => DeleteAliasCommand,
29
29
  DeleteKeyCommand: () => DeleteKeyCommand,
30
+ DeriveKeyUsage: () => DeriveKeyUsage,
31
+ DiffieHellmanDerivationData: () => DiffieHellmanDerivationData,
32
+ ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog: () => ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog,
30
33
  ExportKeyCommand: () => ExportKeyCommand,
31
34
  ExportKeyCryptogramFilterSensitiveLog: () => ExportKeyCryptogramFilterSensitiveLog,
32
35
  ExportKeyInputFilterSensitiveLog: () => ExportKeyInputFilterSensitiveLog,
@@ -43,6 +46,7 @@ __export(index_exports, {
43
46
  GetParametersForImportOutputFilterSensitiveLog: () => GetParametersForImportOutputFilterSensitiveLog,
44
47
  GetPublicKeyCertificateCommand: () => GetPublicKeyCertificateCommand,
45
48
  GetPublicKeyCertificateOutputFilterSensitiveLog: () => GetPublicKeyCertificateOutputFilterSensitiveLog,
49
+ ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog: () => ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog,
46
50
  ImportKeyCommand: () => ImportKeyCommand,
47
51
  ImportKeyCryptogramFilterSensitiveLog: () => ImportKeyCryptogramFilterSensitiveLog,
48
52
  ImportKeyInputFilterSensitiveLog: () => ImportKeyInputFilterSensitiveLog,
@@ -55,6 +59,8 @@ __export(index_exports, {
55
59
  KeyBlockHeadersFilterSensitiveLog: () => KeyBlockHeadersFilterSensitiveLog,
56
60
  KeyCheckValueAlgorithm: () => KeyCheckValueAlgorithm,
57
61
  KeyClass: () => KeyClass,
62
+ KeyDerivationFunction: () => KeyDerivationFunction,
63
+ KeyDerivationHashAlgorithm: () => KeyDerivationHashAlgorithm,
58
64
  KeyExportability: () => KeyExportability,
59
65
  KeyMaterialType: () => KeyMaterialType,
60
66
  KeyOrigin: () => KeyOrigin,
@@ -73,6 +79,7 @@ __export(index_exports, {
73
79
  ServiceUnavailableException: () => ServiceUnavailableException,
74
80
  StartKeyUsageCommand: () => StartKeyUsageCommand,
75
81
  StopKeyUsageCommand: () => StopKeyUsageCommand,
82
+ SymmetricKeyAlgorithm: () => SymmetricKeyAlgorithm,
76
83
  TagResourceCommand: () => TagResourceCommand,
77
84
  ThrottlingException: () => ThrottlingException,
78
85
  Tr34KeyBlockFormat: () => Tr34KeyBlockFormat,
@@ -427,12 +434,34 @@ var ValidationException = class _ValidationException extends PaymentCryptography
427
434
  this.Message = opts.Message;
428
435
  }
429
436
  };
437
+ var DeriveKeyUsage = {
438
+ TR31_B0_BASE_DERIVATION_KEY: "TR31_B0_BASE_DERIVATION_KEY",
439
+ TR31_C0_CARD_VERIFICATION_KEY: "TR31_C0_CARD_VERIFICATION_KEY",
440
+ TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY: "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY",
441
+ TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS: "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS",
442
+ TR31_E1_EMV_MKEY_CONFIDENTIALITY: "TR31_E1_EMV_MKEY_CONFIDENTIALITY",
443
+ TR31_E2_EMV_MKEY_INTEGRITY: "TR31_E2_EMV_MKEY_INTEGRITY",
444
+ TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS: "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS",
445
+ TR31_E5_EMV_MKEY_CARD_PERSONALIZATION: "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION",
446
+ TR31_E6_EMV_MKEY_OTHER: "TR31_E6_EMV_MKEY_OTHER",
447
+ TR31_K0_KEY_ENCRYPTION_KEY: "TR31_K0_KEY_ENCRYPTION_KEY",
448
+ TR31_K1_KEY_BLOCK_PROTECTION_KEY: "TR31_K1_KEY_BLOCK_PROTECTION_KEY",
449
+ TR31_M1_ISO_9797_1_MAC_KEY: "TR31_M1_ISO_9797_1_MAC_KEY",
450
+ TR31_M3_ISO_9797_3_MAC_KEY: "TR31_M3_ISO_9797_3_MAC_KEY",
451
+ TR31_M6_ISO_9797_5_CMAC_KEY: "TR31_M6_ISO_9797_5_CMAC_KEY",
452
+ TR31_M7_HMAC_KEY: "TR31_M7_HMAC_KEY",
453
+ TR31_P0_PIN_ENCRYPTION_KEY: "TR31_P0_PIN_ENCRYPTION_KEY",
454
+ TR31_P1_PIN_GENERATION_KEY: "TR31_P1_PIN_GENERATION_KEY",
455
+ TR31_V1_IBM3624_PIN_VERIFICATION_KEY: "TR31_V1_IBM3624_PIN_VERIFICATION_KEY",
456
+ TR31_V2_VISA_PIN_VERIFICATION_KEY: "TR31_V2_VISA_PIN_VERIFICATION_KEY"
457
+ };
430
458
  var KeyAlgorithm = {
431
459
  AES_128: "AES_128",
432
460
  AES_192: "AES_192",
433
461
  AES_256: "AES_256",
434
462
  ECC_NIST_P256: "ECC_NIST_P256",
435
463
  ECC_NIST_P384: "ECC_NIST_P384",
464
+ ECC_NIST_P521: "ECC_NIST_P521",
436
465
  RSA_2048: "RSA_2048",
437
466
  RSA_3072: "RSA_3072",
438
467
  RSA_4096: "RSA_4096",
@@ -484,15 +513,38 @@ var KeyState = {
484
513
  DELETE_COMPLETE: "DELETE_COMPLETE",
485
514
  DELETE_PENDING: "DELETE_PENDING"
486
515
  };
487
- var WrappingKeySpec = {
488
- RSA_OAEP_SHA_256: "RSA_OAEP_SHA_256",
489
- RSA_OAEP_SHA_512: "RSA_OAEP_SHA_512"
516
+ var DiffieHellmanDerivationData;
517
+ ((DiffieHellmanDerivationData3) => {
518
+ DiffieHellmanDerivationData3.visit = /* @__PURE__ */ __name((value, visitor) => {
519
+ if (value.SharedInformation !== void 0) return visitor.SharedInformation(value.SharedInformation);
520
+ return visitor._(value.$unknown[0], value.$unknown[1]);
521
+ }, "visit");
522
+ })(DiffieHellmanDerivationData || (DiffieHellmanDerivationData = {}));
523
+ var SymmetricKeyAlgorithm = {
524
+ AES_128: "AES_128",
525
+ AES_192: "AES_192",
526
+ AES_256: "AES_256",
527
+ TDES_2KEY: "TDES_2KEY",
528
+ TDES_3KEY: "TDES_3KEY"
490
529
  };
491
530
  var KeyExportability = {
492
531
  EXPORTABLE: "EXPORTABLE",
493
532
  NON_EXPORTABLE: "NON_EXPORTABLE",
494
533
  SENSITIVE: "SENSITIVE"
495
534
  };
535
+ var KeyDerivationFunction = {
536
+ ANSI_X963: "ANSI_X963",
537
+ NIST_SP800: "NIST_SP800"
538
+ };
539
+ var KeyDerivationHashAlgorithm = {
540
+ SHA_256: "SHA_256",
541
+ SHA_384: "SHA_384",
542
+ SHA_512: "SHA_512"
543
+ };
544
+ var WrappingKeySpec = {
545
+ RSA_OAEP_SHA_256: "RSA_OAEP_SHA_256",
546
+ RSA_OAEP_SHA_512: "RSA_OAEP_SHA_512"
547
+ };
496
548
  var Tr34KeyBlockFormat = {
497
549
  X9_TR34_2012: "X9_TR34_2012"
498
550
  };
@@ -502,6 +554,8 @@ var ExportKeyMaterial;
502
554
  if (value.Tr31KeyBlock !== void 0) return visitor.Tr31KeyBlock(value.Tr31KeyBlock);
503
555
  if (value.Tr34KeyBlock !== void 0) return visitor.Tr34KeyBlock(value.Tr34KeyBlock);
504
556
  if (value.KeyCryptogram !== void 0) return visitor.KeyCryptogram(value.KeyCryptogram);
557
+ if (value.DiffieHellmanTr31KeyBlock !== void 0)
558
+ return visitor.DiffieHellmanTr31KeyBlock(value.DiffieHellmanTr31KeyBlock);
505
559
  return visitor._(value.$unknown[0], value.$unknown[1]);
506
560
  }, "visit");
507
561
  })(ExportKeyMaterial || (ExportKeyMaterial = {}));
@@ -527,17 +581,25 @@ var ImportKeyMaterial;
527
581
  if (value.Tr31KeyBlock !== void 0) return visitor.Tr31KeyBlock(value.Tr31KeyBlock);
528
582
  if (value.Tr34KeyBlock !== void 0) return visitor.Tr34KeyBlock(value.Tr34KeyBlock);
529
583
  if (value.KeyCryptogram !== void 0) return visitor.KeyCryptogram(value.KeyCryptogram);
584
+ if (value.DiffieHellmanTr31KeyBlock !== void 0)
585
+ return visitor.DiffieHellmanTr31KeyBlock(value.DiffieHellmanTr31KeyBlock);
530
586
  return visitor._(value.$unknown[0], value.$unknown[1]);
531
587
  }, "visit");
532
588
  })(ImportKeyMaterial || (ImportKeyMaterial = {}));
533
- var ExportKeyCryptogramFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
534
- ...obj,
535
- ...obj.WrappingKeyCertificate && { WrappingKeyCertificate: import_smithy_client.SENSITIVE_STRING }
536
- }), "ExportKeyCryptogramFilterSensitiveLog");
537
589
  var KeyBlockHeadersFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
538
590
  ...obj,
539
591
  ...obj.OptionalBlocks && { OptionalBlocks: import_smithy_client.SENSITIVE_STRING }
540
592
  }), "KeyBlockHeadersFilterSensitiveLog");
593
+ var ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
594
+ ...obj,
595
+ ...obj.PublicKeyCertificate && { PublicKeyCertificate: import_smithy_client.SENSITIVE_STRING },
596
+ ...obj.DerivationData && { DerivationData: obj.DerivationData },
597
+ ...obj.KeyBlockHeaders && { KeyBlockHeaders: KeyBlockHeadersFilterSensitiveLog(obj.KeyBlockHeaders) }
598
+ }), "ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog");
599
+ var ExportKeyCryptogramFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
600
+ ...obj,
601
+ ...obj.WrappingKeyCertificate && { WrappingKeyCertificate: import_smithy_client.SENSITIVE_STRING }
602
+ }), "ExportKeyCryptogramFilterSensitiveLog");
541
603
  var ExportTr31KeyBlockFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
542
604
  ...obj,
543
605
  ...obj.KeyBlockHeaders && { KeyBlockHeaders: KeyBlockHeadersFilterSensitiveLog(obj.KeyBlockHeaders) }
@@ -552,6 +614,10 @@ var ExportKeyMaterialFilterSensitiveLog = /* @__PURE__ */ __name((obj) => {
552
614
  if (obj.Tr34KeyBlock !== void 0) return { Tr34KeyBlock: ExportTr34KeyBlockFilterSensitiveLog(obj.Tr34KeyBlock) };
553
615
  if (obj.KeyCryptogram !== void 0)
554
616
  return { KeyCryptogram: ExportKeyCryptogramFilterSensitiveLog(obj.KeyCryptogram) };
617
+ if (obj.DiffieHellmanTr31KeyBlock !== void 0)
618
+ return {
619
+ DiffieHellmanTr31KeyBlock: ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog(obj.DiffieHellmanTr31KeyBlock)
620
+ };
555
621
  if (obj.$unknown !== void 0) return { [obj.$unknown[0]]: "UNKNOWN" };
556
622
  }, "ExportKeyMaterialFilterSensitiveLog");
557
623
  var ExportKeyInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
@@ -581,6 +647,12 @@ var GetPublicKeyCertificateOutputFilterSensitiveLog = /* @__PURE__ */ __name((ob
581
647
  ...obj.KeyCertificate && { KeyCertificate: import_smithy_client.SENSITIVE_STRING },
582
648
  ...obj.KeyCertificateChain && { KeyCertificateChain: import_smithy_client.SENSITIVE_STRING }
583
649
  }), "GetPublicKeyCertificateOutputFilterSensitiveLog");
650
+ var ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
651
+ ...obj,
652
+ ...obj.PublicKeyCertificate && { PublicKeyCertificate: import_smithy_client.SENSITIVE_STRING },
653
+ ...obj.DerivationData && { DerivationData: obj.DerivationData },
654
+ ...obj.WrappedKeyBlock && { WrappedKeyBlock: import_smithy_client.SENSITIVE_STRING }
655
+ }), "ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog");
584
656
  var ImportKeyCryptogramFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
585
657
  ...obj,
586
658
  ...obj.WrappedKeyCryptogram && { WrappedKeyCryptogram: import_smithy_client.SENSITIVE_STRING }
@@ -613,6 +685,10 @@ var ImportKeyMaterialFilterSensitiveLog = /* @__PURE__ */ __name((obj) => {
613
685
  if (obj.Tr34KeyBlock !== void 0) return { Tr34KeyBlock: ImportTr34KeyBlockFilterSensitiveLog(obj.Tr34KeyBlock) };
614
686
  if (obj.KeyCryptogram !== void 0)
615
687
  return { KeyCryptogram: ImportKeyCryptogramFilterSensitiveLog(obj.KeyCryptogram) };
688
+ if (obj.DiffieHellmanTr31KeyBlock !== void 0)
689
+ return {
690
+ DiffieHellmanTr31KeyBlock: ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog(obj.DiffieHellmanTr31KeyBlock)
691
+ };
616
692
  if (obj.$unknown !== void 0) return { [obj.$unknown[0]]: "UNKNOWN" };
617
693
  }, "ImportKeyMaterialFilterSensitiveLog");
618
694
  var ImportKeyInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
@@ -1156,6 +1232,7 @@ var de_Key = /* @__PURE__ */ __name((output, context) => {
1156
1232
  CreateTimestamp: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "CreateTimestamp"),
1157
1233
  DeletePendingTimestamp: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "DeletePendingTimestamp"),
1158
1234
  DeleteTimestamp: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "DeleteTimestamp"),
1235
+ DeriveKeyUsage: import_smithy_client.expectString,
1159
1236
  Enabled: import_smithy_client.expectBoolean,
1160
1237
  Exportable: import_smithy_client.expectBoolean,
1161
1238
  KeyArn: import_smithy_client.expectString,
@@ -1593,21 +1670,27 @@ var paginateListTagsForResource = (0, import_core.createPaginator)(PaymentCrypto
1593
1670
  ServiceUnavailableException,
1594
1671
  ThrottlingException,
1595
1672
  ValidationException,
1673
+ DeriveKeyUsage,
1596
1674
  KeyAlgorithm,
1597
1675
  KeyClass,
1598
1676
  KeyUsage,
1599
1677
  KeyCheckValueAlgorithm,
1600
1678
  KeyOrigin,
1601
1679
  KeyState,
1602
- WrappingKeySpec,
1680
+ DiffieHellmanDerivationData,
1681
+ SymmetricKeyAlgorithm,
1603
1682
  KeyExportability,
1683
+ KeyDerivationFunction,
1684
+ KeyDerivationHashAlgorithm,
1685
+ WrappingKeySpec,
1604
1686
  Tr34KeyBlockFormat,
1605
1687
  ExportKeyMaterial,
1606
1688
  WrappedKeyMaterialFormat,
1607
1689
  KeyMaterialType,
1608
1690
  ImportKeyMaterial,
1609
- ExportKeyCryptogramFilterSensitiveLog,
1610
1691
  KeyBlockHeadersFilterSensitiveLog,
1692
+ ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog,
1693
+ ExportKeyCryptogramFilterSensitiveLog,
1611
1694
  ExportTr31KeyBlockFilterSensitiveLog,
1612
1695
  ExportTr34KeyBlockFilterSensitiveLog,
1613
1696
  ExportKeyMaterialFilterSensitiveLog,
@@ -1617,6 +1700,7 @@ var paginateListTagsForResource = (0, import_core.createPaginator)(PaymentCrypto
1617
1700
  GetParametersForExportOutputFilterSensitiveLog,
1618
1701
  GetParametersForImportOutputFilterSensitiveLog,
1619
1702
  GetPublicKeyCertificateOutputFilterSensitiveLog,
1703
+ ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog,
1620
1704
  ImportKeyCryptogramFilterSensitiveLog,
1621
1705
  RootCertificatePublicKeyFilterSensitiveLog,
1622
1706
  ImportTr31KeyBlockFilterSensitiveLog,
@@ -112,12 +112,34 @@ export class ValidationException extends __BaseException {
112
112
  this.Message = opts.Message;
113
113
  }
114
114
  }
115
+ export const DeriveKeyUsage = {
116
+ TR31_B0_BASE_DERIVATION_KEY: "TR31_B0_BASE_DERIVATION_KEY",
117
+ TR31_C0_CARD_VERIFICATION_KEY: "TR31_C0_CARD_VERIFICATION_KEY",
118
+ TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY: "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY",
119
+ TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS: "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS",
120
+ TR31_E1_EMV_MKEY_CONFIDENTIALITY: "TR31_E1_EMV_MKEY_CONFIDENTIALITY",
121
+ TR31_E2_EMV_MKEY_INTEGRITY: "TR31_E2_EMV_MKEY_INTEGRITY",
122
+ TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS: "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS",
123
+ TR31_E5_EMV_MKEY_CARD_PERSONALIZATION: "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION",
124
+ TR31_E6_EMV_MKEY_OTHER: "TR31_E6_EMV_MKEY_OTHER",
125
+ TR31_K0_KEY_ENCRYPTION_KEY: "TR31_K0_KEY_ENCRYPTION_KEY",
126
+ TR31_K1_KEY_BLOCK_PROTECTION_KEY: "TR31_K1_KEY_BLOCK_PROTECTION_KEY",
127
+ TR31_M1_ISO_9797_1_MAC_KEY: "TR31_M1_ISO_9797_1_MAC_KEY",
128
+ TR31_M3_ISO_9797_3_MAC_KEY: "TR31_M3_ISO_9797_3_MAC_KEY",
129
+ TR31_M6_ISO_9797_5_CMAC_KEY: "TR31_M6_ISO_9797_5_CMAC_KEY",
130
+ TR31_M7_HMAC_KEY: "TR31_M7_HMAC_KEY",
131
+ TR31_P0_PIN_ENCRYPTION_KEY: "TR31_P0_PIN_ENCRYPTION_KEY",
132
+ TR31_P1_PIN_GENERATION_KEY: "TR31_P1_PIN_GENERATION_KEY",
133
+ TR31_V1_IBM3624_PIN_VERIFICATION_KEY: "TR31_V1_IBM3624_PIN_VERIFICATION_KEY",
134
+ TR31_V2_VISA_PIN_VERIFICATION_KEY: "TR31_V2_VISA_PIN_VERIFICATION_KEY",
135
+ };
115
136
  export const KeyAlgorithm = {
116
137
  AES_128: "AES_128",
117
138
  AES_192: "AES_192",
118
139
  AES_256: "AES_256",
119
140
  ECC_NIST_P256: "ECC_NIST_P256",
120
141
  ECC_NIST_P384: "ECC_NIST_P384",
142
+ ECC_NIST_P521: "ECC_NIST_P521",
121
143
  RSA_2048: "RSA_2048",
122
144
  RSA_3072: "RSA_3072",
123
145
  RSA_4096: "RSA_4096",
@@ -169,15 +191,39 @@ export const KeyState = {
169
191
  DELETE_COMPLETE: "DELETE_COMPLETE",
170
192
  DELETE_PENDING: "DELETE_PENDING",
171
193
  };
172
- export const WrappingKeySpec = {
173
- RSA_OAEP_SHA_256: "RSA_OAEP_SHA_256",
174
- RSA_OAEP_SHA_512: "RSA_OAEP_SHA_512",
194
+ export var DiffieHellmanDerivationData;
195
+ (function (DiffieHellmanDerivationData) {
196
+ DiffieHellmanDerivationData.visit = (value, visitor) => {
197
+ if (value.SharedInformation !== undefined)
198
+ return visitor.SharedInformation(value.SharedInformation);
199
+ return visitor._(value.$unknown[0], value.$unknown[1]);
200
+ };
201
+ })(DiffieHellmanDerivationData || (DiffieHellmanDerivationData = {}));
202
+ export const SymmetricKeyAlgorithm = {
203
+ AES_128: "AES_128",
204
+ AES_192: "AES_192",
205
+ AES_256: "AES_256",
206
+ TDES_2KEY: "TDES_2KEY",
207
+ TDES_3KEY: "TDES_3KEY",
175
208
  };
176
209
  export const KeyExportability = {
177
210
  EXPORTABLE: "EXPORTABLE",
178
211
  NON_EXPORTABLE: "NON_EXPORTABLE",
179
212
  SENSITIVE: "SENSITIVE",
180
213
  };
214
+ export const KeyDerivationFunction = {
215
+ ANSI_X963: "ANSI_X963",
216
+ NIST_SP800: "NIST_SP800",
217
+ };
218
+ export const KeyDerivationHashAlgorithm = {
219
+ SHA_256: "SHA_256",
220
+ SHA_384: "SHA_384",
221
+ SHA_512: "SHA_512",
222
+ };
223
+ export const WrappingKeySpec = {
224
+ RSA_OAEP_SHA_256: "RSA_OAEP_SHA_256",
225
+ RSA_OAEP_SHA_512: "RSA_OAEP_SHA_512",
226
+ };
181
227
  export const Tr34KeyBlockFormat = {
182
228
  X9_TR34_2012: "X9_TR34_2012",
183
229
  };
@@ -190,6 +236,8 @@ export var ExportKeyMaterial;
190
236
  return visitor.Tr34KeyBlock(value.Tr34KeyBlock);
191
237
  if (value.KeyCryptogram !== undefined)
192
238
  return visitor.KeyCryptogram(value.KeyCryptogram);
239
+ if (value.DiffieHellmanTr31KeyBlock !== undefined)
240
+ return visitor.DiffieHellmanTr31KeyBlock(value.DiffieHellmanTr31KeyBlock);
193
241
  return visitor._(value.$unknown[0], value.$unknown[1]);
194
242
  };
195
243
  })(ExportKeyMaterial || (ExportKeyMaterial = {}));
@@ -218,17 +266,25 @@ export var ImportKeyMaterial;
218
266
  return visitor.Tr34KeyBlock(value.Tr34KeyBlock);
219
267
  if (value.KeyCryptogram !== undefined)
220
268
  return visitor.KeyCryptogram(value.KeyCryptogram);
269
+ if (value.DiffieHellmanTr31KeyBlock !== undefined)
270
+ return visitor.DiffieHellmanTr31KeyBlock(value.DiffieHellmanTr31KeyBlock);
221
271
  return visitor._(value.$unknown[0], value.$unknown[1]);
222
272
  };
223
273
  })(ImportKeyMaterial || (ImportKeyMaterial = {}));
224
- export const ExportKeyCryptogramFilterSensitiveLog = (obj) => ({
225
- ...obj,
226
- ...(obj.WrappingKeyCertificate && { WrappingKeyCertificate: SENSITIVE_STRING }),
227
- });
228
274
  export const KeyBlockHeadersFilterSensitiveLog = (obj) => ({
229
275
  ...obj,
230
276
  ...(obj.OptionalBlocks && { OptionalBlocks: SENSITIVE_STRING }),
231
277
  });
278
+ export const ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog = (obj) => ({
279
+ ...obj,
280
+ ...(obj.PublicKeyCertificate && { PublicKeyCertificate: SENSITIVE_STRING }),
281
+ ...(obj.DerivationData && { DerivationData: obj.DerivationData }),
282
+ ...(obj.KeyBlockHeaders && { KeyBlockHeaders: KeyBlockHeadersFilterSensitiveLog(obj.KeyBlockHeaders) }),
283
+ });
284
+ export const ExportKeyCryptogramFilterSensitiveLog = (obj) => ({
285
+ ...obj,
286
+ ...(obj.WrappingKeyCertificate && { WrappingKeyCertificate: SENSITIVE_STRING }),
287
+ });
232
288
  export const ExportTr31KeyBlockFilterSensitiveLog = (obj) => ({
233
289
  ...obj,
234
290
  ...(obj.KeyBlockHeaders && { KeyBlockHeaders: KeyBlockHeadersFilterSensitiveLog(obj.KeyBlockHeaders) }),
@@ -245,6 +301,10 @@ export const ExportKeyMaterialFilterSensitiveLog = (obj) => {
245
301
  return { Tr34KeyBlock: ExportTr34KeyBlockFilterSensitiveLog(obj.Tr34KeyBlock) };
246
302
  if (obj.KeyCryptogram !== undefined)
247
303
  return { KeyCryptogram: ExportKeyCryptogramFilterSensitiveLog(obj.KeyCryptogram) };
304
+ if (obj.DiffieHellmanTr31KeyBlock !== undefined)
305
+ return {
306
+ DiffieHellmanTr31KeyBlock: ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog(obj.DiffieHellmanTr31KeyBlock),
307
+ };
248
308
  if (obj.$unknown !== undefined)
249
309
  return { [obj.$unknown[0]]: "UNKNOWN" };
250
310
  };
@@ -275,6 +335,12 @@ export const GetPublicKeyCertificateOutputFilterSensitiveLog = (obj) => ({
275
335
  ...(obj.KeyCertificate && { KeyCertificate: SENSITIVE_STRING }),
276
336
  ...(obj.KeyCertificateChain && { KeyCertificateChain: SENSITIVE_STRING }),
277
337
  });
338
+ export const ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog = (obj) => ({
339
+ ...obj,
340
+ ...(obj.PublicKeyCertificate && { PublicKeyCertificate: SENSITIVE_STRING }),
341
+ ...(obj.DerivationData && { DerivationData: obj.DerivationData }),
342
+ ...(obj.WrappedKeyBlock && { WrappedKeyBlock: SENSITIVE_STRING }),
343
+ });
278
344
  export const ImportKeyCryptogramFilterSensitiveLog = (obj) => ({
279
345
  ...obj,
280
346
  ...(obj.WrappedKeyCryptogram && { WrappedKeyCryptogram: SENSITIVE_STRING }),
@@ -309,6 +375,10 @@ export const ImportKeyMaterialFilterSensitiveLog = (obj) => {
309
375
  return { Tr34KeyBlock: ImportTr34KeyBlockFilterSensitiveLog(obj.Tr34KeyBlock) };
310
376
  if (obj.KeyCryptogram !== undefined)
311
377
  return { KeyCryptogram: ImportKeyCryptogramFilterSensitiveLog(obj.KeyCryptogram) };
378
+ if (obj.DiffieHellmanTr31KeyBlock !== undefined)
379
+ return {
380
+ DiffieHellmanTr31KeyBlock: ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog(obj.DiffieHellmanTr31KeyBlock),
381
+ };
312
382
  if (obj.$unknown !== undefined)
313
383
  return { [obj.$unknown[0]]: "UNKNOWN" };
314
384
  };
@@ -538,6 +538,7 @@ const de_Key = (output, context) => {
538
538
  CreateTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
539
539
  DeletePendingTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
540
540
  DeleteTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
541
+ DeriveKeyUsage: __expectString,
541
542
  Enabled: __expectBoolean,
542
543
  Exportable: __expectBoolean,
543
544
  KeyArn: __expectString,
@@ -85,6 +85,7 @@ declare const CreateKeyCommand_base: {
85
85
  * Value: "STRING_VALUE", // required
86
86
  * },
87
87
  * ],
88
+ * DeriveKeyUsage: "STRING_VALUE",
88
89
  * };
89
90
  * const command = new CreateKeyCommand(input);
90
91
  * const response = await client.send(command);
@@ -118,6 +119,7 @@ declare const CreateKeyCommand_base: {
118
119
  * // UsageStopTimestamp: new Date("TIMESTAMP"),
119
120
  * // DeletePendingTimestamp: new Date("TIMESTAMP"),
120
121
  * // DeleteTimestamp: new Date("TIMESTAMP"),
122
+ * // DeriveKeyUsage: "STRING_VALUE",
121
123
  * // },
122
124
  * // };
123
125
  *
@@ -94,6 +94,7 @@ declare const DeleteKeyCommand_base: {
94
94
  * // UsageStopTimestamp: new Date("TIMESTAMP"),
95
95
  * // DeletePendingTimestamp: new Date("TIMESTAMP"),
96
96
  * // DeleteTimestamp: new Date("TIMESTAMP"),
97
+ * // DeriveKeyUsage: "STRING_VALUE",
97
98
  * // },
98
99
  * // };
99
100
  *
@@ -187,6 +187,35 @@ declare const ExportKeyCommand_base: {
187
187
  * WrappingKeyCertificate: "STRING_VALUE", // required
188
188
  * WrappingSpec: "STRING_VALUE",
189
189
  * },
190
+ * DiffieHellmanTr31KeyBlock: { // ExportDiffieHellmanTr31KeyBlock
191
+ * PrivateKeyIdentifier: "STRING_VALUE", // required
192
+ * CertificateAuthorityPublicKeyIdentifier: "STRING_VALUE", // required
193
+ * PublicKeyCertificate: "STRING_VALUE", // required
194
+ * DeriveKeyAlgorithm: "TDES_2KEY" || "TDES_3KEY" || "AES_128" || "AES_192" || "AES_256", // required
195
+ * KeyDerivationFunction: "NIST_SP800" || "ANSI_X963", // required
196
+ * KeyDerivationHashAlgorithm: "SHA_256" || "SHA_384" || "SHA_512", // required
197
+ * DerivationData: { // DiffieHellmanDerivationData Union: only one key present
198
+ * SharedInformation: "STRING_VALUE",
199
+ * },
200
+ * KeyBlockHeaders: {
201
+ * KeyModesOfUse: {
202
+ * Encrypt: true || false,
203
+ * Decrypt: true || false,
204
+ * Wrap: true || false,
205
+ * Unwrap: true || false,
206
+ * Generate: true || false,
207
+ * Sign: true || false,
208
+ * Verify: true || false,
209
+ * DeriveKey: true || false,
210
+ * NoRestrictions: true || false,
211
+ * },
212
+ * KeyExportability: "STRING_VALUE",
213
+ * KeyVersion: "STRING_VALUE",
214
+ * OptionalBlocks: {
215
+ * "<keys>": "STRING_VALUE",
216
+ * },
217
+ * },
218
+ * },
190
219
  * },
191
220
  * ExportKeyIdentifier: "STRING_VALUE", // required
192
221
  * ExportAttributes: { // ExportAttributes
@@ -91,6 +91,7 @@ declare const GetKeyCommand_base: {
91
91
  * // UsageStopTimestamp: new Date("TIMESTAMP"),
92
92
  * // DeletePendingTimestamp: new Date("TIMESTAMP"),
93
93
  * // DeleteTimestamp: new Date("TIMESTAMP"),
94
+ * // DeriveKeyUsage: "STRING_VALUE",
94
95
  * // },
95
96
  * // };
96
97
  *
@@ -35,10 +35,6 @@ declare const ImportKeyCommand_base: {
35
35
  * <p>
36
36
  * <b>To import a public root key certificate</b>
37
37
  * </p>
38
- * <p>You can also import a <i>root public key certificate</i>, used to sign other public key certificates, or a <i>trusted public key certificate</i> under an already established root public key certificate.</p>
39
- * <p>
40
- * <b>To import a public root key certificate</b>
41
- * </p>
42
38
  * <p>Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.</p>
43
39
  * <p>Set the following parameters:</p>
44
40
  * <ul>
@@ -240,6 +236,18 @@ declare const ImportKeyCommand_base: {
240
236
  * ImportToken: "STRING_VALUE", // required
241
237
  * WrappingSpec: "STRING_VALUE",
242
238
  * },
239
+ * DiffieHellmanTr31KeyBlock: { // ImportDiffieHellmanTr31KeyBlock
240
+ * PrivateKeyIdentifier: "STRING_VALUE", // required
241
+ * CertificateAuthorityPublicKeyIdentifier: "STRING_VALUE", // required
242
+ * PublicKeyCertificate: "STRING_VALUE", // required
243
+ * DeriveKeyAlgorithm: "TDES_2KEY" || "TDES_3KEY" || "AES_128" || "AES_192" || "AES_256", // required
244
+ * KeyDerivationFunction: "NIST_SP800" || "ANSI_X963", // required
245
+ * KeyDerivationHashAlgorithm: "SHA_256" || "SHA_384" || "SHA_512", // required
246
+ * DerivationData: { // DiffieHellmanDerivationData Union: only one key present
247
+ * SharedInformation: "STRING_VALUE",
248
+ * },
249
+ * WrappedKeyBlock: "STRING_VALUE", // required
250
+ * },
243
251
  * },
244
252
  * KeyCheckValueAlgorithm: "STRING_VALUE",
245
253
  * Enabled: true || false,
@@ -282,6 +290,7 @@ declare const ImportKeyCommand_base: {
282
290
  * // UsageStopTimestamp: new Date("TIMESTAMP"),
283
291
  * // DeletePendingTimestamp: new Date("TIMESTAMP"),
284
292
  * // DeleteTimestamp: new Date("TIMESTAMP"),
293
+ * // DeriveKeyUsage: "STRING_VALUE",
285
294
  * // },
286
295
  * // };
287
296
  *
@@ -93,6 +93,7 @@ declare const RestoreKeyCommand_base: {
93
93
  * // UsageStopTimestamp: new Date("TIMESTAMP"),
94
94
  * // DeletePendingTimestamp: new Date("TIMESTAMP"),
95
95
  * // DeleteTimestamp: new Date("TIMESTAMP"),
96
+ * // DeriveKeyUsage: "STRING_VALUE",
96
97
  * // },
97
98
  * // };
98
99
  *
@@ -81,6 +81,7 @@ declare const StartKeyUsageCommand_base: {
81
81
  * // UsageStopTimestamp: new Date("TIMESTAMP"),
82
82
  * // DeletePendingTimestamp: new Date("TIMESTAMP"),
83
83
  * // DeleteTimestamp: new Date("TIMESTAMP"),
84
+ * // DeriveKeyUsage: "STRING_VALUE",
84
85
  * // },
85
86
  * // };
86
87
  *
@@ -87,6 +87,7 @@ declare const StopKeyUsageCommand_base: {
87
87
  * // UsageStopTimestamp: new Date("TIMESTAMP"),
88
88
  * // DeletePendingTimestamp: new Date("TIMESTAMP"),
89
89
  * // DeleteTimestamp: new Date("TIMESTAMP"),
90
+ * // DeriveKeyUsage: "STRING_VALUE",
90
91
  * // },
91
92
  * // };
92
93
  *
@@ -251,6 +251,35 @@ export interface UpdateAliasOutput {
251
251
  */
252
252
  Alias: Alias | undefined;
253
253
  }
254
+ /**
255
+ * @public
256
+ * @enum
257
+ */
258
+ export declare const DeriveKeyUsage: {
259
+ readonly TR31_B0_BASE_DERIVATION_KEY: "TR31_B0_BASE_DERIVATION_KEY";
260
+ readonly TR31_C0_CARD_VERIFICATION_KEY: "TR31_C0_CARD_VERIFICATION_KEY";
261
+ readonly TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY: "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY";
262
+ readonly TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS: "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS";
263
+ readonly TR31_E1_EMV_MKEY_CONFIDENTIALITY: "TR31_E1_EMV_MKEY_CONFIDENTIALITY";
264
+ readonly TR31_E2_EMV_MKEY_INTEGRITY: "TR31_E2_EMV_MKEY_INTEGRITY";
265
+ readonly TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS: "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS";
266
+ readonly TR31_E5_EMV_MKEY_CARD_PERSONALIZATION: "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION";
267
+ readonly TR31_E6_EMV_MKEY_OTHER: "TR31_E6_EMV_MKEY_OTHER";
268
+ readonly TR31_K0_KEY_ENCRYPTION_KEY: "TR31_K0_KEY_ENCRYPTION_KEY";
269
+ readonly TR31_K1_KEY_BLOCK_PROTECTION_KEY: "TR31_K1_KEY_BLOCK_PROTECTION_KEY";
270
+ readonly TR31_M1_ISO_9797_1_MAC_KEY: "TR31_M1_ISO_9797_1_MAC_KEY";
271
+ readonly TR31_M3_ISO_9797_3_MAC_KEY: "TR31_M3_ISO_9797_3_MAC_KEY";
272
+ readonly TR31_M6_ISO_9797_5_CMAC_KEY: "TR31_M6_ISO_9797_5_CMAC_KEY";
273
+ readonly TR31_M7_HMAC_KEY: "TR31_M7_HMAC_KEY";
274
+ readonly TR31_P0_PIN_ENCRYPTION_KEY: "TR31_P0_PIN_ENCRYPTION_KEY";
275
+ readonly TR31_P1_PIN_GENERATION_KEY: "TR31_P1_PIN_GENERATION_KEY";
276
+ readonly TR31_V1_IBM3624_PIN_VERIFICATION_KEY: "TR31_V1_IBM3624_PIN_VERIFICATION_KEY";
277
+ readonly TR31_V2_VISA_PIN_VERIFICATION_KEY: "TR31_V2_VISA_PIN_VERIFICATION_KEY";
278
+ };
279
+ /**
280
+ * @public
281
+ */
282
+ export type DeriveKeyUsage = (typeof DeriveKeyUsage)[keyof typeof DeriveKeyUsage];
254
283
  /**
255
284
  * @public
256
285
  * @enum
@@ -261,6 +290,7 @@ export declare const KeyAlgorithm: {
261
290
  readonly AES_256: "AES_256";
262
291
  readonly ECC_NIST_P256: "ECC_NIST_P256";
263
292
  readonly ECC_NIST_P384: "ECC_NIST_P384";
293
+ readonly ECC_NIST_P521: "ECC_NIST_P521";
264
294
  readonly RSA_2048: "RSA_2048";
265
295
  readonly RSA_3072: "RSA_3072";
266
296
  readonly RSA_4096: "RSA_4096";
@@ -461,6 +491,11 @@ export interface CreateKeyInput {
461
491
  * @public
462
492
  */
463
493
  Tags?: Tag[] | undefined;
494
+ /**
495
+ * <p>The cryptographic usage of an ECDH derived key as defined in section A.5.2 of the TR-31 spec.</p>
496
+ * @public
497
+ */
498
+ DeriveKeyUsage?: DeriveKeyUsage | undefined;
464
499
  }
465
500
  /**
466
501
  * @public
@@ -559,6 +594,11 @@ export interface Key {
559
594
  * @public
560
595
  */
561
596
  DeleteTimestamp?: Date | undefined;
597
+ /**
598
+ * <p>The cryptographic usage of an ECDH derived key as defined in section A.5.2 of the TR-31 spec.</p>
599
+ * @public
600
+ */
601
+ DeriveKeyUsage?: DeriveKeyUsage | undefined;
562
602
  }
563
603
  /**
564
604
  * @public
@@ -595,6 +635,37 @@ export interface DeleteKeyOutput {
595
635
  */
596
636
  Key: Key | undefined;
597
637
  }
638
+ /**
639
+ * <p>Derivation data used to derive an ECDH key.</p>
640
+ * @public
641
+ */
642
+ export type DiffieHellmanDerivationData = DiffieHellmanDerivationData.SharedInformationMember | DiffieHellmanDerivationData.$UnknownMember;
643
+ /**
644
+ * @public
645
+ */
646
+ export declare namespace DiffieHellmanDerivationData {
647
+ /**
648
+ * <p>A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.</p>
649
+ * <p>It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.</p>
650
+ * @public
651
+ */
652
+ interface SharedInformationMember {
653
+ SharedInformation: string;
654
+ $unknown?: never;
655
+ }
656
+ /**
657
+ * @public
658
+ */
659
+ interface $UnknownMember {
660
+ SharedInformation?: never;
661
+ $unknown: [string, any];
662
+ }
663
+ interface Visitor<T> {
664
+ SharedInformation: (value: string) => T;
665
+ _: (name: string, value: any) => T;
666
+ }
667
+ const visit: <T>(value: DiffieHellmanDerivationData, visitor: Visitor<T>) => T;
668
+ }
598
669
  /**
599
670
  * <p>Parameter information for IPEK generation during export.</p>
600
671
  * @public
@@ -628,35 +699,17 @@ export interface ExportAttributes {
628
699
  * @public
629
700
  * @enum
630
701
  */
631
- export declare const WrappingKeySpec: {
632
- readonly RSA_OAEP_SHA_256: "RSA_OAEP_SHA_256";
633
- readonly RSA_OAEP_SHA_512: "RSA_OAEP_SHA_512";
702
+ export declare const SymmetricKeyAlgorithm: {
703
+ readonly AES_128: "AES_128";
704
+ readonly AES_192: "AES_192";
705
+ readonly AES_256: "AES_256";
706
+ readonly TDES_2KEY: "TDES_2KEY";
707
+ readonly TDES_3KEY: "TDES_3KEY";
634
708
  };
635
709
  /**
636
710
  * @public
637
711
  */
638
- export type WrappingKeySpec = (typeof WrappingKeySpec)[keyof typeof WrappingKeySpec];
639
- /**
640
- * <p>Parameter information for key material export using asymmetric RSA wrap and unwrap key exchange method.</p>
641
- * @public
642
- */
643
- export interface ExportKeyCryptogram {
644
- /**
645
- * <p>The <code>KeyARN</code> of the certificate chain that signs the wrapping key certificate during RSA wrap and unwrap key export.</p>
646
- * @public
647
- */
648
- CertificateAuthorityPublicKeyIdentifier: string | undefined;
649
- /**
650
- * <p>The wrapping key certificate in PEM format (base64 encoded). Amazon Web Services Payment Cryptography uses this certificate to wrap the key under export.</p>
651
- * @public
652
- */
653
- WrappingKeyCertificate: string | undefined;
654
- /**
655
- * <p>The wrapping spec for the key under export.</p>
656
- * @public
657
- */
658
- WrappingSpec?: WrappingKeySpec | undefined;
659
- }
712
+ export type SymmetricKeyAlgorithm = (typeof SymmetricKeyAlgorithm)[keyof typeof SymmetricKeyAlgorithm];
660
713
  /**
661
714
  * @public
662
715
  * @enum
@@ -698,6 +751,110 @@ export interface KeyBlockHeaders {
698
751
  */
699
752
  OptionalBlocks?: Record<string, string> | undefined;
700
753
  }
754
+ /**
755
+ * @public
756
+ * @enum
757
+ */
758
+ export declare const KeyDerivationFunction: {
759
+ readonly ANSI_X963: "ANSI_X963";
760
+ readonly NIST_SP800: "NIST_SP800";
761
+ };
762
+ /**
763
+ * @public
764
+ */
765
+ export type KeyDerivationFunction = (typeof KeyDerivationFunction)[keyof typeof KeyDerivationFunction];
766
+ /**
767
+ * @public
768
+ * @enum
769
+ */
770
+ export declare const KeyDerivationHashAlgorithm: {
771
+ readonly SHA_256: "SHA_256";
772
+ readonly SHA_384: "SHA_384";
773
+ readonly SHA_512: "SHA_512";
774
+ };
775
+ /**
776
+ * @public
777
+ */
778
+ export type KeyDerivationHashAlgorithm = (typeof KeyDerivationHashAlgorithm)[keyof typeof KeyDerivationHashAlgorithm];
779
+ /**
780
+ * <p>Parameter information for key material export using the asymmetric ECDH key exchange method.</p>
781
+ * @public
782
+ */
783
+ export interface ExportDiffieHellmanTr31KeyBlock {
784
+ /**
785
+ * <p>The <code>keyARN</code> of the asymmetric ECC key.</p>
786
+ * @public
787
+ */
788
+ PrivateKeyIdentifier: string | undefined;
789
+ /**
790
+ * <p>The <code>keyARN</code> of the certificate that signed the client's <code>PublicKeyCertificate</code>.</p>
791
+ * @public
792
+ */
793
+ CertificateAuthorityPublicKeyIdentifier: string | undefined;
794
+ /**
795
+ * <p>The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.</p>
796
+ * @public
797
+ */
798
+ PublicKeyCertificate: string | undefined;
799
+ /**
800
+ * <p>The key algorithm of the derived ECDH key.</p>
801
+ * @public
802
+ */
803
+ DeriveKeyAlgorithm: SymmetricKeyAlgorithm | undefined;
804
+ /**
805
+ * <p>The key derivation function to use for deriving a key using ECDH.</p>
806
+ * @public
807
+ */
808
+ KeyDerivationFunction: KeyDerivationFunction | undefined;
809
+ /**
810
+ * <p>The hash type to use for deriving a key using ECDH.</p>
811
+ * @public
812
+ */
813
+ KeyDerivationHashAlgorithm: KeyDerivationHashAlgorithm | undefined;
814
+ /**
815
+ * <p>Derivation data used to derive an ECDH key.</p>
816
+ * @public
817
+ */
818
+ DerivationData: DiffieHellmanDerivationData | undefined;
819
+ /**
820
+ * <p>Optional metadata for export associated with the key material. This data is signed but transmitted in clear text.</p>
821
+ * @public
822
+ */
823
+ KeyBlockHeaders?: KeyBlockHeaders | undefined;
824
+ }
825
+ /**
826
+ * @public
827
+ * @enum
828
+ */
829
+ export declare const WrappingKeySpec: {
830
+ readonly RSA_OAEP_SHA_256: "RSA_OAEP_SHA_256";
831
+ readonly RSA_OAEP_SHA_512: "RSA_OAEP_SHA_512";
832
+ };
833
+ /**
834
+ * @public
835
+ */
836
+ export type WrappingKeySpec = (typeof WrappingKeySpec)[keyof typeof WrappingKeySpec];
837
+ /**
838
+ * <p>Parameter information for key material export using asymmetric RSA wrap and unwrap key exchange method.</p>
839
+ * @public
840
+ */
841
+ export interface ExportKeyCryptogram {
842
+ /**
843
+ * <p>The <code>KeyARN</code> of the certificate chain that signs the wrapping key certificate during RSA wrap and unwrap key export.</p>
844
+ * @public
845
+ */
846
+ CertificateAuthorityPublicKeyIdentifier: string | undefined;
847
+ /**
848
+ * <p>The wrapping key certificate in PEM format (base64 encoded). Amazon Web Services Payment Cryptography uses this certificate to wrap the key under export.</p>
849
+ * @public
850
+ */
851
+ WrappingKeyCertificate: string | undefined;
852
+ /**
853
+ * <p>The wrapping spec for the key under export.</p>
854
+ * @public
855
+ */
856
+ WrappingSpec?: WrappingKeySpec | undefined;
857
+ }
701
858
  /**
702
859
  * <p>Parameter information for key material export using symmetric TR-31 key exchange method.</p>
703
860
  * @public
@@ -765,7 +922,7 @@ export interface ExportTr34KeyBlock {
765
922
  * <p>Parameter information for key material export from Amazon Web Services Payment Cryptography using TR-31 or TR-34 or RSA wrap and unwrap key exchange method.</p>
766
923
  * @public
767
924
  */
768
- export type ExportKeyMaterial = ExportKeyMaterial.KeyCryptogramMember | ExportKeyMaterial.Tr31KeyBlockMember | ExportKeyMaterial.Tr34KeyBlockMember | ExportKeyMaterial.$UnknownMember;
925
+ export type ExportKeyMaterial = ExportKeyMaterial.DiffieHellmanTr31KeyBlockMember | ExportKeyMaterial.KeyCryptogramMember | ExportKeyMaterial.Tr31KeyBlockMember | ExportKeyMaterial.Tr34KeyBlockMember | ExportKeyMaterial.$UnknownMember;
769
926
  /**
770
927
  * @public
771
928
  */
@@ -778,6 +935,7 @@ export declare namespace ExportKeyMaterial {
778
935
  Tr31KeyBlock: ExportTr31KeyBlock;
779
936
  Tr34KeyBlock?: never;
780
937
  KeyCryptogram?: never;
938
+ DiffieHellmanTr31KeyBlock?: never;
781
939
  $unknown?: never;
782
940
  }
783
941
  /**
@@ -788,6 +946,7 @@ export declare namespace ExportKeyMaterial {
788
946
  Tr31KeyBlock?: never;
789
947
  Tr34KeyBlock: ExportTr34KeyBlock;
790
948
  KeyCryptogram?: never;
949
+ DiffieHellmanTr31KeyBlock?: never;
791
950
  $unknown?: never;
792
951
  }
793
952
  /**
@@ -798,6 +957,18 @@ export declare namespace ExportKeyMaterial {
798
957
  Tr31KeyBlock?: never;
799
958
  Tr34KeyBlock?: never;
800
959
  KeyCryptogram: ExportKeyCryptogram;
960
+ DiffieHellmanTr31KeyBlock?: never;
961
+ $unknown?: never;
962
+ }
963
+ /**
964
+ * <p>Parameter information for key material export using the asymmetric ECDH key exchange method.</p>
965
+ * @public
966
+ */
967
+ interface DiffieHellmanTr31KeyBlockMember {
968
+ Tr31KeyBlock?: never;
969
+ Tr34KeyBlock?: never;
970
+ KeyCryptogram?: never;
971
+ DiffieHellmanTr31KeyBlock: ExportDiffieHellmanTr31KeyBlock;
801
972
  $unknown?: never;
802
973
  }
803
974
  /**
@@ -807,12 +978,14 @@ export declare namespace ExportKeyMaterial {
807
978
  Tr31KeyBlock?: never;
808
979
  Tr34KeyBlock?: never;
809
980
  KeyCryptogram?: never;
981
+ DiffieHellmanTr31KeyBlock?: never;
810
982
  $unknown: [string, any];
811
983
  }
812
984
  interface Visitor<T> {
813
985
  Tr31KeyBlock: (value: ExportTr31KeyBlock) => T;
814
986
  Tr34KeyBlock: (value: ExportTr34KeyBlock) => T;
815
987
  KeyCryptogram: (value: ExportKeyCryptogram) => T;
988
+ DiffieHellmanTr31KeyBlock: (value: ExportDiffieHellmanTr31KeyBlock) => T;
816
989
  _: (name: string, value: any) => T;
817
990
  }
818
991
  const visit: <T>(value: ExportKeyMaterial, visitor: Visitor<T>) => T;
@@ -1044,6 +1217,52 @@ export interface GetPublicKeyCertificateOutput {
1044
1217
  */
1045
1218
  KeyCertificateChain: string | undefined;
1046
1219
  }
1220
+ /**
1221
+ * <p>Parameter information for key material import using the asymmetric ECDH key exchange method.</p>
1222
+ * @public
1223
+ */
1224
+ export interface ImportDiffieHellmanTr31KeyBlock {
1225
+ /**
1226
+ * <p>The <code>keyARN</code> of the asymmetric ECC key.</p>
1227
+ * @public
1228
+ */
1229
+ PrivateKeyIdentifier: string | undefined;
1230
+ /**
1231
+ * <p>The <code>keyARN</code> of the certificate that signed the client's <code>PublicKeyCertificate</code>.</p>
1232
+ * @public
1233
+ */
1234
+ CertificateAuthorityPublicKeyIdentifier: string | undefined;
1235
+ /**
1236
+ * <p>The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.</p>
1237
+ * @public
1238
+ */
1239
+ PublicKeyCertificate: string | undefined;
1240
+ /**
1241
+ * <p>The key algorithm of the derived ECDH key.</p>
1242
+ * @public
1243
+ */
1244
+ DeriveKeyAlgorithm: SymmetricKeyAlgorithm | undefined;
1245
+ /**
1246
+ * <p>The key derivation function to use for deriving a key using ECDH.</p>
1247
+ * @public
1248
+ */
1249
+ KeyDerivationFunction: KeyDerivationFunction | undefined;
1250
+ /**
1251
+ * <p>The hash type to use for deriving a key using ECDH.</p>
1252
+ * @public
1253
+ */
1254
+ KeyDerivationHashAlgorithm: KeyDerivationHashAlgorithm | undefined;
1255
+ /**
1256
+ * <p>Derivation data used to derive an ECDH key.</p>
1257
+ * @public
1258
+ */
1259
+ DerivationData: DiffieHellmanDerivationData | undefined;
1260
+ /**
1261
+ * <p>The ECDH wrapped key block to import.</p>
1262
+ * @public
1263
+ */
1264
+ WrappedKeyBlock: string | undefined;
1265
+ }
1047
1266
  /**
1048
1267
  * <p>Parameter information for key material import using asymmetric RSA wrap and unwrap key exchange method.</p>
1049
1268
  * @public
@@ -1168,7 +1387,7 @@ export interface TrustedCertificatePublicKey {
1168
1387
  * <p>Parameter information for key material import into Amazon Web Services Payment Cryptography using TR-31 or TR-34 or RSA wrap and unwrap key exchange method.</p>
1169
1388
  * @public
1170
1389
  */
1171
- export type ImportKeyMaterial = ImportKeyMaterial.KeyCryptogramMember | ImportKeyMaterial.RootCertificatePublicKeyMember | ImportKeyMaterial.Tr31KeyBlockMember | ImportKeyMaterial.Tr34KeyBlockMember | ImportKeyMaterial.TrustedCertificatePublicKeyMember | ImportKeyMaterial.$UnknownMember;
1390
+ export type ImportKeyMaterial = ImportKeyMaterial.DiffieHellmanTr31KeyBlockMember | ImportKeyMaterial.KeyCryptogramMember | ImportKeyMaterial.RootCertificatePublicKeyMember | ImportKeyMaterial.Tr31KeyBlockMember | ImportKeyMaterial.Tr34KeyBlockMember | ImportKeyMaterial.TrustedCertificatePublicKeyMember | ImportKeyMaterial.$UnknownMember;
1172
1391
  /**
1173
1392
  * @public
1174
1393
  */
@@ -1183,6 +1402,7 @@ export declare namespace ImportKeyMaterial {
1183
1402
  Tr31KeyBlock?: never;
1184
1403
  Tr34KeyBlock?: never;
1185
1404
  KeyCryptogram?: never;
1405
+ DiffieHellmanTr31KeyBlock?: never;
1186
1406
  $unknown?: never;
1187
1407
  }
1188
1408
  /**
@@ -1195,6 +1415,7 @@ export declare namespace ImportKeyMaterial {
1195
1415
  Tr31KeyBlock?: never;
1196
1416
  Tr34KeyBlock?: never;
1197
1417
  KeyCryptogram?: never;
1418
+ DiffieHellmanTr31KeyBlock?: never;
1198
1419
  $unknown?: never;
1199
1420
  }
1200
1421
  /**
@@ -1207,6 +1428,7 @@ export declare namespace ImportKeyMaterial {
1207
1428
  Tr31KeyBlock: ImportTr31KeyBlock;
1208
1429
  Tr34KeyBlock?: never;
1209
1430
  KeyCryptogram?: never;
1431
+ DiffieHellmanTr31KeyBlock?: never;
1210
1432
  $unknown?: never;
1211
1433
  }
1212
1434
  /**
@@ -1219,6 +1441,7 @@ export declare namespace ImportKeyMaterial {
1219
1441
  Tr31KeyBlock?: never;
1220
1442
  Tr34KeyBlock: ImportTr34KeyBlock;
1221
1443
  KeyCryptogram?: never;
1444
+ DiffieHellmanTr31KeyBlock?: never;
1222
1445
  $unknown?: never;
1223
1446
  }
1224
1447
  /**
@@ -1231,6 +1454,20 @@ export declare namespace ImportKeyMaterial {
1231
1454
  Tr31KeyBlock?: never;
1232
1455
  Tr34KeyBlock?: never;
1233
1456
  KeyCryptogram: ImportKeyCryptogram;
1457
+ DiffieHellmanTr31KeyBlock?: never;
1458
+ $unknown?: never;
1459
+ }
1460
+ /**
1461
+ * <p>Parameter information for key material import using the asymmetric ECDH key exchange method.</p>
1462
+ * @public
1463
+ */
1464
+ interface DiffieHellmanTr31KeyBlockMember {
1465
+ RootCertificatePublicKey?: never;
1466
+ TrustedCertificatePublicKey?: never;
1467
+ Tr31KeyBlock?: never;
1468
+ Tr34KeyBlock?: never;
1469
+ KeyCryptogram?: never;
1470
+ DiffieHellmanTr31KeyBlock: ImportDiffieHellmanTr31KeyBlock;
1234
1471
  $unknown?: never;
1235
1472
  }
1236
1473
  /**
@@ -1242,6 +1479,7 @@ export declare namespace ImportKeyMaterial {
1242
1479
  Tr31KeyBlock?: never;
1243
1480
  Tr34KeyBlock?: never;
1244
1481
  KeyCryptogram?: never;
1482
+ DiffieHellmanTr31KeyBlock?: never;
1245
1483
  $unknown: [string, any];
1246
1484
  }
1247
1485
  interface Visitor<T> {
@@ -1250,6 +1488,7 @@ export declare namespace ImportKeyMaterial {
1250
1488
  Tr31KeyBlock: (value: ImportTr31KeyBlock) => T;
1251
1489
  Tr34KeyBlock: (value: ImportTr34KeyBlock) => T;
1252
1490
  KeyCryptogram: (value: ImportKeyCryptogram) => T;
1491
+ DiffieHellmanTr31KeyBlock: (value: ImportDiffieHellmanTr31KeyBlock) => T;
1253
1492
  _: (name: string, value: any) => T;
1254
1493
  }
1255
1494
  const visit: <T>(value: ImportKeyMaterial, visitor: Visitor<T>) => T;
@@ -1516,11 +1755,15 @@ export interface UntagResourceOutput {
1516
1755
  /**
1517
1756
  * @internal
1518
1757
  */
1519
- export declare const ExportKeyCryptogramFilterSensitiveLog: (obj: ExportKeyCryptogram) => any;
1758
+ export declare const KeyBlockHeadersFilterSensitiveLog: (obj: KeyBlockHeaders) => any;
1520
1759
  /**
1521
1760
  * @internal
1522
1761
  */
1523
- export declare const KeyBlockHeadersFilterSensitiveLog: (obj: KeyBlockHeaders) => any;
1762
+ export declare const ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog: (obj: ExportDiffieHellmanTr31KeyBlock) => any;
1763
+ /**
1764
+ * @internal
1765
+ */
1766
+ export declare const ExportKeyCryptogramFilterSensitiveLog: (obj: ExportKeyCryptogram) => any;
1524
1767
  /**
1525
1768
  * @internal
1526
1769
  */
@@ -1557,6 +1800,10 @@ export declare const GetParametersForImportOutputFilterSensitiveLog: (obj: GetPa
1557
1800
  * @internal
1558
1801
  */
1559
1802
  export declare const GetPublicKeyCertificateOutputFilterSensitiveLog: (obj: GetPublicKeyCertificateOutput) => any;
1803
+ /**
1804
+ * @internal
1805
+ */
1806
+ export declare const ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog: (obj: ImportDiffieHellmanTr31KeyBlock) => any;
1560
1807
  /**
1561
1808
  * @internal
1562
1809
  */
@@ -99,12 +99,36 @@ export interface UpdateAliasInput {
99
99
  export interface UpdateAliasOutput {
100
100
  Alias: Alias | undefined;
101
101
  }
102
+ export declare const DeriveKeyUsage: {
103
+ readonly TR31_B0_BASE_DERIVATION_KEY: "TR31_B0_BASE_DERIVATION_KEY";
104
+ readonly TR31_C0_CARD_VERIFICATION_KEY: "TR31_C0_CARD_VERIFICATION_KEY";
105
+ readonly TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY: "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY";
106
+ readonly TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS: "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS";
107
+ readonly TR31_E1_EMV_MKEY_CONFIDENTIALITY: "TR31_E1_EMV_MKEY_CONFIDENTIALITY";
108
+ readonly TR31_E2_EMV_MKEY_INTEGRITY: "TR31_E2_EMV_MKEY_INTEGRITY";
109
+ readonly TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS: "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS";
110
+ readonly TR31_E5_EMV_MKEY_CARD_PERSONALIZATION: "TR31_E5_EMV_MKEY_CARD_PERSONALIZATION";
111
+ readonly TR31_E6_EMV_MKEY_OTHER: "TR31_E6_EMV_MKEY_OTHER";
112
+ readonly TR31_K0_KEY_ENCRYPTION_KEY: "TR31_K0_KEY_ENCRYPTION_KEY";
113
+ readonly TR31_K1_KEY_BLOCK_PROTECTION_KEY: "TR31_K1_KEY_BLOCK_PROTECTION_KEY";
114
+ readonly TR31_M1_ISO_9797_1_MAC_KEY: "TR31_M1_ISO_9797_1_MAC_KEY";
115
+ readonly TR31_M3_ISO_9797_3_MAC_KEY: "TR31_M3_ISO_9797_3_MAC_KEY";
116
+ readonly TR31_M6_ISO_9797_5_CMAC_KEY: "TR31_M6_ISO_9797_5_CMAC_KEY";
117
+ readonly TR31_M7_HMAC_KEY: "TR31_M7_HMAC_KEY";
118
+ readonly TR31_P0_PIN_ENCRYPTION_KEY: "TR31_P0_PIN_ENCRYPTION_KEY";
119
+ readonly TR31_P1_PIN_GENERATION_KEY: "TR31_P1_PIN_GENERATION_KEY";
120
+ readonly TR31_V1_IBM3624_PIN_VERIFICATION_KEY: "TR31_V1_IBM3624_PIN_VERIFICATION_KEY";
121
+ readonly TR31_V2_VISA_PIN_VERIFICATION_KEY: "TR31_V2_VISA_PIN_VERIFICATION_KEY";
122
+ };
123
+ export type DeriveKeyUsage =
124
+ (typeof DeriveKeyUsage)[keyof typeof DeriveKeyUsage];
102
125
  export declare const KeyAlgorithm: {
103
126
  readonly AES_128: "AES_128";
104
127
  readonly AES_192: "AES_192";
105
128
  readonly AES_256: "AES_256";
106
129
  readonly ECC_NIST_P256: "ECC_NIST_P256";
107
130
  readonly ECC_NIST_P384: "ECC_NIST_P384";
131
+ readonly ECC_NIST_P521: "ECC_NIST_P521";
108
132
  readonly RSA_2048: "RSA_2048";
109
133
  readonly RSA_3072: "RSA_3072";
110
134
  readonly RSA_4096: "RSA_4096";
@@ -178,6 +202,7 @@ export interface CreateKeyInput {
178
202
  Exportable: boolean | undefined;
179
203
  Enabled?: boolean | undefined;
180
204
  Tags?: Tag[] | undefined;
205
+ DeriveKeyUsage?: DeriveKeyUsage | undefined;
181
206
  }
182
207
  export declare const KeyOrigin: {
183
208
  readonly AWS_PAYMENT_CRYPTOGRAPHY: "AWS_PAYMENT_CRYPTOGRAPHY";
@@ -205,6 +230,7 @@ export interface Key {
205
230
  UsageStopTimestamp?: Date | undefined;
206
231
  DeletePendingTimestamp?: Date | undefined;
207
232
  DeleteTimestamp?: Date | undefined;
233
+ DeriveKeyUsage?: DeriveKeyUsage | undefined;
208
234
  }
209
235
  export interface CreateKeyOutput {
210
236
  Key: Key | undefined;
@@ -216,6 +242,27 @@ export interface DeleteKeyInput {
216
242
  export interface DeleteKeyOutput {
217
243
  Key: Key | undefined;
218
244
  }
245
+ export type DiffieHellmanDerivationData =
246
+ | DiffieHellmanDerivationData.SharedInformationMember
247
+ | DiffieHellmanDerivationData.$UnknownMember;
248
+ export declare namespace DiffieHellmanDerivationData {
249
+ interface SharedInformationMember {
250
+ SharedInformation: string;
251
+ $unknown?: never;
252
+ }
253
+ interface $UnknownMember {
254
+ SharedInformation?: never;
255
+ $unknown: [string, any];
256
+ }
257
+ interface Visitor<T> {
258
+ SharedInformation: (value: string) => T;
259
+ _: (name: string, value: any) => T;
260
+ }
261
+ const visit: <T>(
262
+ value: DiffieHellmanDerivationData,
263
+ visitor: Visitor<T>
264
+ ) => T;
265
+ }
219
266
  export interface ExportDukptInitialKey {
220
267
  KeySerialNumber: string | undefined;
221
268
  }
@@ -223,17 +270,15 @@ export interface ExportAttributes {
223
270
  ExportDukptInitialKey?: ExportDukptInitialKey | undefined;
224
271
  KeyCheckValueAlgorithm?: KeyCheckValueAlgorithm | undefined;
225
272
  }
226
- export declare const WrappingKeySpec: {
227
- readonly RSA_OAEP_SHA_256: "RSA_OAEP_SHA_256";
228
- readonly RSA_OAEP_SHA_512: "RSA_OAEP_SHA_512";
273
+ export declare const SymmetricKeyAlgorithm: {
274
+ readonly AES_128: "AES_128";
275
+ readonly AES_192: "AES_192";
276
+ readonly AES_256: "AES_256";
277
+ readonly TDES_2KEY: "TDES_2KEY";
278
+ readonly TDES_3KEY: "TDES_3KEY";
229
279
  };
230
- export type WrappingKeySpec =
231
- (typeof WrappingKeySpec)[keyof typeof WrappingKeySpec];
232
- export interface ExportKeyCryptogram {
233
- CertificateAuthorityPublicKeyIdentifier: string | undefined;
234
- WrappingKeyCertificate: string | undefined;
235
- WrappingSpec?: WrappingKeySpec | undefined;
236
- }
280
+ export type SymmetricKeyAlgorithm =
281
+ (typeof SymmetricKeyAlgorithm)[keyof typeof SymmetricKeyAlgorithm];
237
282
  export declare const KeyExportability: {
238
283
  readonly EXPORTABLE: "EXPORTABLE";
239
284
  readonly NON_EXPORTABLE: "NON_EXPORTABLE";
@@ -247,6 +292,40 @@ export interface KeyBlockHeaders {
247
292
  KeyVersion?: string | undefined;
248
293
  OptionalBlocks?: Record<string, string> | undefined;
249
294
  }
295
+ export declare const KeyDerivationFunction: {
296
+ readonly ANSI_X963: "ANSI_X963";
297
+ readonly NIST_SP800: "NIST_SP800";
298
+ };
299
+ export type KeyDerivationFunction =
300
+ (typeof KeyDerivationFunction)[keyof typeof KeyDerivationFunction];
301
+ export declare const KeyDerivationHashAlgorithm: {
302
+ readonly SHA_256: "SHA_256";
303
+ readonly SHA_384: "SHA_384";
304
+ readonly SHA_512: "SHA_512";
305
+ };
306
+ export type KeyDerivationHashAlgorithm =
307
+ (typeof KeyDerivationHashAlgorithm)[keyof typeof KeyDerivationHashAlgorithm];
308
+ export interface ExportDiffieHellmanTr31KeyBlock {
309
+ PrivateKeyIdentifier: string | undefined;
310
+ CertificateAuthorityPublicKeyIdentifier: string | undefined;
311
+ PublicKeyCertificate: string | undefined;
312
+ DeriveKeyAlgorithm: SymmetricKeyAlgorithm | undefined;
313
+ KeyDerivationFunction: KeyDerivationFunction | undefined;
314
+ KeyDerivationHashAlgorithm: KeyDerivationHashAlgorithm | undefined;
315
+ DerivationData: DiffieHellmanDerivationData | undefined;
316
+ KeyBlockHeaders?: KeyBlockHeaders | undefined;
317
+ }
318
+ export declare const WrappingKeySpec: {
319
+ readonly RSA_OAEP_SHA_256: "RSA_OAEP_SHA_256";
320
+ readonly RSA_OAEP_SHA_512: "RSA_OAEP_SHA_512";
321
+ };
322
+ export type WrappingKeySpec =
323
+ (typeof WrappingKeySpec)[keyof typeof WrappingKeySpec];
324
+ export interface ExportKeyCryptogram {
325
+ CertificateAuthorityPublicKeyIdentifier: string | undefined;
326
+ WrappingKeyCertificate: string | undefined;
327
+ WrappingSpec?: WrappingKeySpec | undefined;
328
+ }
250
329
  export interface ExportTr31KeyBlock {
251
330
  WrappingKeyIdentifier: string | undefined;
252
331
  KeyBlockHeaders?: KeyBlockHeaders | undefined;
@@ -265,6 +344,7 @@ export interface ExportTr34KeyBlock {
265
344
  KeyBlockHeaders?: KeyBlockHeaders | undefined;
266
345
  }
267
346
  export type ExportKeyMaterial =
347
+ | ExportKeyMaterial.DiffieHellmanTr31KeyBlockMember
268
348
  | ExportKeyMaterial.KeyCryptogramMember
269
349
  | ExportKeyMaterial.Tr31KeyBlockMember
270
350
  | ExportKeyMaterial.Tr34KeyBlockMember
@@ -274,30 +354,42 @@ export declare namespace ExportKeyMaterial {
274
354
  Tr31KeyBlock: ExportTr31KeyBlock;
275
355
  Tr34KeyBlock?: never;
276
356
  KeyCryptogram?: never;
357
+ DiffieHellmanTr31KeyBlock?: never;
277
358
  $unknown?: never;
278
359
  }
279
360
  interface Tr34KeyBlockMember {
280
361
  Tr31KeyBlock?: never;
281
362
  Tr34KeyBlock: ExportTr34KeyBlock;
282
363
  KeyCryptogram?: never;
364
+ DiffieHellmanTr31KeyBlock?: never;
283
365
  $unknown?: never;
284
366
  }
285
367
  interface KeyCryptogramMember {
286
368
  Tr31KeyBlock?: never;
287
369
  Tr34KeyBlock?: never;
288
370
  KeyCryptogram: ExportKeyCryptogram;
371
+ DiffieHellmanTr31KeyBlock?: never;
372
+ $unknown?: never;
373
+ }
374
+ interface DiffieHellmanTr31KeyBlockMember {
375
+ Tr31KeyBlock?: never;
376
+ Tr34KeyBlock?: never;
377
+ KeyCryptogram?: never;
378
+ DiffieHellmanTr31KeyBlock: ExportDiffieHellmanTr31KeyBlock;
289
379
  $unknown?: never;
290
380
  }
291
381
  interface $UnknownMember {
292
382
  Tr31KeyBlock?: never;
293
383
  Tr34KeyBlock?: never;
294
384
  KeyCryptogram?: never;
385
+ DiffieHellmanTr31KeyBlock?: never;
295
386
  $unknown: [string, any];
296
387
  }
297
388
  interface Visitor<T> {
298
389
  Tr31KeyBlock: (value: ExportTr31KeyBlock) => T;
299
390
  Tr34KeyBlock: (value: ExportTr34KeyBlock) => T;
300
391
  KeyCryptogram: (value: ExportKeyCryptogram) => T;
392
+ DiffieHellmanTr31KeyBlock: (value: ExportDiffieHellmanTr31KeyBlock) => T;
301
393
  _: (name: string, value: any) => T;
302
394
  }
303
395
  const visit: <T>(value: ExportKeyMaterial, visitor: Visitor<T>) => T;
@@ -368,6 +460,16 @@ export interface GetPublicKeyCertificateOutput {
368
460
  KeyCertificate: string | undefined;
369
461
  KeyCertificateChain: string | undefined;
370
462
  }
463
+ export interface ImportDiffieHellmanTr31KeyBlock {
464
+ PrivateKeyIdentifier: string | undefined;
465
+ CertificateAuthorityPublicKeyIdentifier: string | undefined;
466
+ PublicKeyCertificate: string | undefined;
467
+ DeriveKeyAlgorithm: SymmetricKeyAlgorithm | undefined;
468
+ KeyDerivationFunction: KeyDerivationFunction | undefined;
469
+ KeyDerivationHashAlgorithm: KeyDerivationHashAlgorithm | undefined;
470
+ DerivationData: DiffieHellmanDerivationData | undefined;
471
+ WrappedKeyBlock: string | undefined;
472
+ }
371
473
  export interface ImportKeyCryptogram {
372
474
  KeyAttributes: KeyAttributes | undefined;
373
475
  Exportable: boolean | undefined;
@@ -397,6 +499,7 @@ export interface TrustedCertificatePublicKey {
397
499
  CertificateAuthorityPublicKeyIdentifier: string | undefined;
398
500
  }
399
501
  export type ImportKeyMaterial =
502
+ | ImportKeyMaterial.DiffieHellmanTr31KeyBlockMember
400
503
  | ImportKeyMaterial.KeyCryptogramMember
401
504
  | ImportKeyMaterial.RootCertificatePublicKeyMember
402
505
  | ImportKeyMaterial.Tr31KeyBlockMember
@@ -410,6 +513,7 @@ export declare namespace ImportKeyMaterial {
410
513
  Tr31KeyBlock?: never;
411
514
  Tr34KeyBlock?: never;
412
515
  KeyCryptogram?: never;
516
+ DiffieHellmanTr31KeyBlock?: never;
413
517
  $unknown?: never;
414
518
  }
415
519
  interface TrustedCertificatePublicKeyMember {
@@ -418,6 +522,7 @@ export declare namespace ImportKeyMaterial {
418
522
  Tr31KeyBlock?: never;
419
523
  Tr34KeyBlock?: never;
420
524
  KeyCryptogram?: never;
525
+ DiffieHellmanTr31KeyBlock?: never;
421
526
  $unknown?: never;
422
527
  }
423
528
  interface Tr31KeyBlockMember {
@@ -426,6 +531,7 @@ export declare namespace ImportKeyMaterial {
426
531
  Tr31KeyBlock: ImportTr31KeyBlock;
427
532
  Tr34KeyBlock?: never;
428
533
  KeyCryptogram?: never;
534
+ DiffieHellmanTr31KeyBlock?: never;
429
535
  $unknown?: never;
430
536
  }
431
537
  interface Tr34KeyBlockMember {
@@ -434,6 +540,7 @@ export declare namespace ImportKeyMaterial {
434
540
  Tr31KeyBlock?: never;
435
541
  Tr34KeyBlock: ImportTr34KeyBlock;
436
542
  KeyCryptogram?: never;
543
+ DiffieHellmanTr31KeyBlock?: never;
437
544
  $unknown?: never;
438
545
  }
439
546
  interface KeyCryptogramMember {
@@ -442,6 +549,16 @@ export declare namespace ImportKeyMaterial {
442
549
  Tr31KeyBlock?: never;
443
550
  Tr34KeyBlock?: never;
444
551
  KeyCryptogram: ImportKeyCryptogram;
552
+ DiffieHellmanTr31KeyBlock?: never;
553
+ $unknown?: never;
554
+ }
555
+ interface DiffieHellmanTr31KeyBlockMember {
556
+ RootCertificatePublicKey?: never;
557
+ TrustedCertificatePublicKey?: never;
558
+ Tr31KeyBlock?: never;
559
+ Tr34KeyBlock?: never;
560
+ KeyCryptogram?: never;
561
+ DiffieHellmanTr31KeyBlock: ImportDiffieHellmanTr31KeyBlock;
445
562
  $unknown?: never;
446
563
  }
447
564
  interface $UnknownMember {
@@ -450,6 +567,7 @@ export declare namespace ImportKeyMaterial {
450
567
  Tr31KeyBlock?: never;
451
568
  Tr34KeyBlock?: never;
452
569
  KeyCryptogram?: never;
570
+ DiffieHellmanTr31KeyBlock?: never;
453
571
  $unknown: [string, any];
454
572
  }
455
573
  interface Visitor<T> {
@@ -458,6 +576,7 @@ export declare namespace ImportKeyMaterial {
458
576
  Tr31KeyBlock: (value: ImportTr31KeyBlock) => T;
459
577
  Tr34KeyBlock: (value: ImportTr34KeyBlock) => T;
460
578
  KeyCryptogram: (value: ImportKeyCryptogram) => T;
579
+ DiffieHellmanTr31KeyBlock: (value: ImportDiffieHellmanTr31KeyBlock) => T;
461
580
  _: (name: string, value: any) => T;
462
581
  }
463
582
  const visit: <T>(value: ImportKeyMaterial, visitor: Visitor<T>) => T;
@@ -525,12 +644,15 @@ export interface UntagResourceInput {
525
644
  TagKeys: string[] | undefined;
526
645
  }
527
646
  export interface UntagResourceOutput {}
528
- export declare const ExportKeyCryptogramFilterSensitiveLog: (
529
- obj: ExportKeyCryptogram
530
- ) => any;
531
647
  export declare const KeyBlockHeadersFilterSensitiveLog: (
532
648
  obj: KeyBlockHeaders
533
649
  ) => any;
650
+ export declare const ExportDiffieHellmanTr31KeyBlockFilterSensitiveLog: (
651
+ obj: ExportDiffieHellmanTr31KeyBlock
652
+ ) => any;
653
+ export declare const ExportKeyCryptogramFilterSensitiveLog: (
654
+ obj: ExportKeyCryptogram
655
+ ) => any;
534
656
  export declare const ExportTr31KeyBlockFilterSensitiveLog: (
535
657
  obj: ExportTr31KeyBlock
536
658
  ) => any;
@@ -556,6 +678,9 @@ export declare const GetParametersForImportOutputFilterSensitiveLog: (
556
678
  export declare const GetPublicKeyCertificateOutputFilterSensitiveLog: (
557
679
  obj: GetPublicKeyCertificateOutput
558
680
  ) => any;
681
+ export declare const ImportDiffieHellmanTr31KeyBlockFilterSensitiveLog: (
682
+ obj: ImportDiffieHellmanTr31KeyBlock
683
+ ) => any;
559
684
  export declare const ImportKeyCryptogramFilterSensitiveLog: (
560
685
  obj: ImportKeyCryptogram
561
686
  ) => any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-payment-cryptography",
3
3
  "description": "AWS SDK for JavaScript Payment Cryptography Client for Node.js, Browser and React Native",
4
- "version": "3.777.0",
4
+ "version": "3.778.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-payment-cryptography",