@aws-sdk/client-payment-cryptography-data 3.899.0 → 3.903.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/README.md CHANGED
@@ -258,6 +258,14 @@ ReEncryptData
258
258
 
259
259
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/payment-cryptography-data/command/ReEncryptDataCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-payment-cryptography-data/Interface/ReEncryptDataCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-payment-cryptography-data/Interface/ReEncryptDataCommandOutput/)
260
260
 
261
+ </details>
262
+ <details>
263
+ <summary>
264
+ TranslateKeyMaterial
265
+ </summary>
266
+
267
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/payment-cryptography-data/command/TranslateKeyMaterialCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-payment-cryptography-data/Interface/TranslateKeyMaterialCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-payment-cryptography-data/Interface/TranslateKeyMaterialCommandOutput/)
268
+
261
269
  </details>
262
270
  <details>
263
271
  <summary>
package/dist-cjs/index.js CHANGED
@@ -40,6 +40,7 @@ __export(index_exports, {
40
40
  DecryptDataOutputFilterSensitiveLog: () => DecryptDataOutputFilterSensitiveLog,
41
41
  DerivationMethodAttributes: () => DerivationMethodAttributes,
42
42
  DerivationMethodAttributesFilterSensitiveLog: () => DerivationMethodAttributesFilterSensitiveLog,
43
+ DiffieHellmanDerivationData: () => DiffieHellmanDerivationData,
43
44
  DiscoverDynamicCardVerificationCodeFilterSensitiveLog: () => DiscoverDynamicCardVerificationCodeFilterSensitiveLog,
44
45
  DukptDerivationType: () => DukptDerivationType,
45
46
  DukptEncryptionAttributesFilterSensitiveLog: () => DukptEncryptionAttributesFilterSensitiveLog,
@@ -47,7 +48,6 @@ __export(index_exports, {
47
48
  DukptKeyVariant: () => DukptKeyVariant,
48
49
  DynamicCardVerificationCodeFilterSensitiveLog: () => DynamicCardVerificationCodeFilterSensitiveLog,
49
50
  DynamicCardVerificationValueFilterSensitiveLog: () => DynamicCardVerificationValueFilterSensitiveLog,
50
- EcdhDerivationAttributesFilterSensitiveLog: () => EcdhDerivationAttributesFilterSensitiveLog,
51
51
  Emv2000AttributesFilterSensitiveLog: () => Emv2000AttributesFilterSensitiveLog,
52
52
  EmvCommonAttributesFilterSensitiveLog: () => EmvCommonAttributesFilterSensitiveLog,
53
53
  EmvEncryptionAttributesFilterSensitiveLog: () => EmvEncryptionAttributesFilterSensitiveLog,
@@ -76,6 +76,9 @@ __export(index_exports, {
76
76
  Ibm3624PinOffsetFilterSensitiveLog: () => Ibm3624PinOffsetFilterSensitiveLog,
77
77
  Ibm3624PinVerificationFilterSensitiveLog: () => Ibm3624PinVerificationFilterSensitiveLog,
78
78
  Ibm3624RandomPinFilterSensitiveLog: () => Ibm3624RandomPinFilterSensitiveLog,
79
+ IncomingDiffieHellmanTr31KeyBlockFilterSensitiveLog: () => IncomingDiffieHellmanTr31KeyBlockFilterSensitiveLog,
80
+ IncomingKeyMaterial: () => IncomingKeyMaterial,
81
+ IncomingKeyMaterialFilterSensitiveLog: () => IncomingKeyMaterialFilterSensitiveLog,
79
82
  InternalServerException: () => InternalServerException,
80
83
  KeyCheckValueAlgorithm: () => KeyCheckValueAlgorithm,
81
84
  KeyDerivationFunction: () => KeyDerivationFunction,
@@ -86,6 +89,7 @@ __export(index_exports, {
86
89
  MacAttributesFilterSensitiveLog: () => MacAttributesFilterSensitiveLog,
87
90
  MajorKeyDerivationMode: () => MajorKeyDerivationMode,
88
91
  MasterCardAttributesFilterSensitiveLog: () => MasterCardAttributesFilterSensitiveLog,
92
+ OutgoingKeyMaterial: () => OutgoingKeyMaterial,
89
93
  PaddingType: () => PaddingType,
90
94
  PaymentCryptographyData: () => PaymentCryptographyData,
91
95
  PaymentCryptographyDataClient: () => PaymentCryptographyDataClient,
@@ -119,6 +123,9 @@ __export(index_exports, {
119
123
  SymmetricEncryptionAttributesFilterSensitiveLog: () => SymmetricEncryptionAttributesFilterSensitiveLog,
120
124
  SymmetricKeyAlgorithm: () => SymmetricKeyAlgorithm,
121
125
  ThrottlingException: () => ThrottlingException,
126
+ TranslateKeyMaterialCommand: () => TranslateKeyMaterialCommand,
127
+ TranslateKeyMaterialInputFilterSensitiveLog: () => TranslateKeyMaterialInputFilterSensitiveLog,
128
+ TranslateKeyMaterialOutputFilterSensitiveLog: () => TranslateKeyMaterialOutputFilterSensitiveLog,
122
129
  TranslatePinDataCommand: () => TranslatePinDataCommand,
123
130
  TranslatePinDataInputFilterSensitiveLog: () => TranslatePinDataInputFilterSensitiveLog,
124
131
  TranslatePinDataOutputFilterSensitiveLog: () => TranslatePinDataOutputFilterSensitiveLog,
@@ -143,6 +150,8 @@ __export(index_exports, {
143
150
  WrappedKeyFilterSensitiveLog: () => WrappedKeyFilterSensitiveLog,
144
151
  WrappedKeyMaterial: () => WrappedKeyMaterial,
145
152
  WrappedKeyMaterialFilterSensitiveLog: () => WrappedKeyMaterialFilterSensitiveLog,
153
+ WrappedKeyMaterialFormat: () => WrappedKeyMaterialFormat,
154
+ WrappedWorkingKeyFilterSensitiveLog: () => WrappedWorkingKeyFilterSensitiveLog,
146
155
  __Client: () => import_smithy_client.Client
147
156
  });
148
157
  module.exports = __toCommonJS(index_exports);
@@ -577,6 +586,13 @@ var DerivationMethodAttributes;
577
586
  return visitor._(value.$unknown[0], value.$unknown[1]);
578
587
  }, "visit");
579
588
  })(DerivationMethodAttributes || (DerivationMethodAttributes = {}));
589
+ var DiffieHellmanDerivationData;
590
+ ((DiffieHellmanDerivationData3) => {
591
+ DiffieHellmanDerivationData3.visit = /* @__PURE__ */ __name((value, visitor) => {
592
+ if (value.SharedInformation !== void 0) return visitor.SharedInformation(value.SharedInformation);
593
+ return visitor._(value.$unknown[0], value.$unknown[1]);
594
+ }, "visit");
595
+ })(DiffieHellmanDerivationData || (DiffieHellmanDerivationData = {}));
580
596
  var MacAlgorithm = {
581
597
  CMAC: "CMAC",
582
598
  HMAC: "HMAC",
@@ -634,6 +650,7 @@ var PinGenerationAttributes;
634
650
  })(PinGenerationAttributes || (PinGenerationAttributes = {}));
635
651
  var PinBlockFormatForPinData = {
636
652
  ISO_FORMAT_0: "ISO_FORMAT_0",
653
+ ISO_FORMAT_1: "ISO_FORMAT_1",
637
654
  ISO_FORMAT_3: "ISO_FORMAT_3",
638
655
  ISO_FORMAT_4: "ISO_FORMAT_4"
639
656
  };
@@ -645,6 +662,21 @@ var PinData;
645
662
  return visitor._(value.$unknown[0], value.$unknown[1]);
646
663
  }, "visit");
647
664
  })(PinData || (PinData = {}));
665
+ var IncomingKeyMaterial;
666
+ ((IncomingKeyMaterial3) => {
667
+ IncomingKeyMaterial3.visit = /* @__PURE__ */ __name((value, visitor) => {
668
+ if (value.DiffieHellmanTr31KeyBlock !== void 0)
669
+ return visitor.DiffieHellmanTr31KeyBlock(value.DiffieHellmanTr31KeyBlock);
670
+ return visitor._(value.$unknown[0], value.$unknown[1]);
671
+ }, "visit");
672
+ })(IncomingKeyMaterial || (IncomingKeyMaterial = {}));
673
+ var OutgoingKeyMaterial;
674
+ ((OutgoingKeyMaterial3) => {
675
+ OutgoingKeyMaterial3.visit = /* @__PURE__ */ __name((value, visitor) => {
676
+ if (value.Tr31KeyBlock !== void 0) return visitor.Tr31KeyBlock(value.Tr31KeyBlock);
677
+ return visitor._(value.$unknown[0], value.$unknown[1]);
678
+ }, "visit");
679
+ })(OutgoingKeyMaterial || (OutgoingKeyMaterial = {}));
648
680
  var ReEncryptionAttributes;
649
681
  ((ReEncryptionAttributes3) => {
650
682
  ReEncryptionAttributes3.visit = /* @__PURE__ */ __name((value, visitor) => {
@@ -653,6 +685,11 @@ var ReEncryptionAttributes;
653
685
  return visitor._(value.$unknown[0], value.$unknown[1]);
654
686
  }, "visit");
655
687
  })(ReEncryptionAttributes || (ReEncryptionAttributes = {}));
688
+ var WrappedKeyMaterialFormat = {
689
+ KEY_CRYPTOGRAM: "KEY_CRYPTOGRAM",
690
+ TR31_KEY_BLOCK: "TR31_KEY_BLOCK",
691
+ TR34_KEY_BLOCK: "TR34_KEY_BLOCK"
692
+ };
656
693
  var TranslationIsoFormats;
657
694
  ((TranslationIsoFormats3) => {
658
695
  TranslationIsoFormats3.visit = /* @__PURE__ */ __name((value, visitor) => {
@@ -843,14 +880,9 @@ var EncryptionDecryptionAttributesFilterSensitiveLog = /* @__PURE__ */ __name((o
843
880
  if (obj.Emv !== void 0) return { Emv: EmvEncryptionAttributesFilterSensitiveLog(obj.Emv) };
844
881
  if (obj.$unknown !== void 0) return { [obj.$unknown[0]]: "UNKNOWN" };
845
882
  }, "EncryptionDecryptionAttributesFilterSensitiveLog");
846
- var EcdhDerivationAttributesFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
847
- ...obj,
848
- ...obj.PublicKeyCertificate && { PublicKeyCertificate: import_smithy_client.SENSITIVE_STRING }
849
- }), "EcdhDerivationAttributesFilterSensitiveLog");
850
883
  var WrappedKeyMaterialFilterSensitiveLog = /* @__PURE__ */ __name((obj) => {
851
884
  if (obj.Tr31KeyBlock !== void 0) return { Tr31KeyBlock: import_smithy_client.SENSITIVE_STRING };
852
- if (obj.DiffieHellmanSymmetricKey !== void 0)
853
- return { DiffieHellmanSymmetricKey: EcdhDerivationAttributesFilterSensitiveLog(obj.DiffieHellmanSymmetricKey) };
885
+ if (obj.DiffieHellmanSymmetricKey !== void 0) return { DiffieHellmanSymmetricKey: obj.DiffieHellmanSymmetricKey };
854
886
  if (obj.$unknown !== void 0) return { [obj.$unknown[0]]: "UNKNOWN" };
855
887
  }, "WrappedKeyMaterialFilterSensitiveLog");
856
888
  var WrappedKeyFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
@@ -1028,6 +1060,18 @@ var Ibm3624PinVerificationFilterSensitiveLog = /* @__PURE__ */ __name((obj) => (
1028
1060
  ...obj.PinValidationData && { PinValidationData: import_smithy_client.SENSITIVE_STRING },
1029
1061
  ...obj.PinOffset && { PinOffset: import_smithy_client.SENSITIVE_STRING }
1030
1062
  }), "Ibm3624PinVerificationFilterSensitiveLog");
1063
+ var IncomingDiffieHellmanTr31KeyBlockFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1064
+ ...obj,
1065
+ ...obj.DerivationData && { DerivationData: obj.DerivationData },
1066
+ ...obj.WrappedKeyBlock && { WrappedKeyBlock: import_smithy_client.SENSITIVE_STRING }
1067
+ }), "IncomingDiffieHellmanTr31KeyBlockFilterSensitiveLog");
1068
+ var IncomingKeyMaterialFilterSensitiveLog = /* @__PURE__ */ __name((obj) => {
1069
+ if (obj.DiffieHellmanTr31KeyBlock !== void 0)
1070
+ return {
1071
+ DiffieHellmanTr31KeyBlock: IncomingDiffieHellmanTr31KeyBlockFilterSensitiveLog(obj.DiffieHellmanTr31KeyBlock)
1072
+ };
1073
+ if (obj.$unknown !== void 0) return { [obj.$unknown[0]]: "UNKNOWN" };
1074
+ }, "IncomingKeyMaterialFilterSensitiveLog");
1031
1075
  var ReEncryptionAttributesFilterSensitiveLog = /* @__PURE__ */ __name((obj) => {
1032
1076
  if (obj.Symmetric !== void 0) return { Symmetric: SymmetricEncryptionAttributesFilterSensitiveLog(obj.Symmetric) };
1033
1077
  if (obj.Dukpt !== void 0) return { Dukpt: DukptEncryptionAttributesFilterSensitiveLog(obj.Dukpt) };
@@ -1049,6 +1093,21 @@ var ReEncryptDataOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1049
1093
  ...obj,
1050
1094
  ...obj.CipherText && { CipherText: import_smithy_client.SENSITIVE_STRING }
1051
1095
  }), "ReEncryptDataOutputFilterSensitiveLog");
1096
+ var TranslateKeyMaterialInputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1097
+ ...obj,
1098
+ ...obj.IncomingKeyMaterial && {
1099
+ IncomingKeyMaterial: IncomingKeyMaterialFilterSensitiveLog(obj.IncomingKeyMaterial)
1100
+ },
1101
+ ...obj.OutgoingKeyMaterial && { OutgoingKeyMaterial: obj.OutgoingKeyMaterial }
1102
+ }), "TranslateKeyMaterialInputFilterSensitiveLog");
1103
+ var WrappedWorkingKeyFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1104
+ ...obj,
1105
+ ...obj.WrappedKeyMaterial && { WrappedKeyMaterial: import_smithy_client.SENSITIVE_STRING }
1106
+ }), "WrappedWorkingKeyFilterSensitiveLog");
1107
+ var TranslateKeyMaterialOutputFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1108
+ ...obj,
1109
+ ...obj.WrappedKey && { WrappedKey: WrappedWorkingKeyFilterSensitiveLog(obj.WrappedKey) }
1110
+ }), "TranslateKeyMaterialOutputFilterSensitiveLog");
1052
1111
  var TranslationPinDataIsoFormat034FilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
1053
1112
  ...obj,
1054
1113
  ...obj.PrimaryAccountNumber && { PrimaryAccountNumber: import_smithy_client.SENSITIVE_STRING }
@@ -1296,6 +1355,23 @@ var se_ReEncryptDataCommand = /* @__PURE__ */ __name(async (input, context) => {
1296
1355
  b.m("POST").h(headers).b(body);
1297
1356
  return b.build();
1298
1357
  }, "se_ReEncryptDataCommand");
1358
+ var se_TranslateKeyMaterialCommand = /* @__PURE__ */ __name(async (input, context) => {
1359
+ const b = (0, import_core.requestBuilder)(input, context);
1360
+ const headers = {
1361
+ "content-type": "application/json"
1362
+ };
1363
+ b.bp("/keymaterial/translate");
1364
+ let body;
1365
+ body = JSON.stringify(
1366
+ (0, import_smithy_client.take)(input, {
1367
+ IncomingKeyMaterial: /* @__PURE__ */ __name((_) => (0, import_smithy_client._json)(_), "IncomingKeyMaterial"),
1368
+ KeyCheckValueAlgorithm: [],
1369
+ OutgoingKeyMaterial: /* @__PURE__ */ __name((_) => (0, import_smithy_client._json)(_), "OutgoingKeyMaterial")
1370
+ })
1371
+ );
1372
+ b.m("POST").h(headers).b(body);
1373
+ return b.build();
1374
+ }, "se_TranslateKeyMaterialCommand");
1299
1375
  var se_TranslatePinDataCommand = /* @__PURE__ */ __name(async (input, context) => {
1300
1376
  const b = (0, import_core.requestBuilder)(input, context);
1301
1377
  const headers = {
@@ -1520,6 +1596,20 @@ var de_ReEncryptDataCommand = /* @__PURE__ */ __name(async (output, context) =>
1520
1596
  Object.assign(contents, doc);
1521
1597
  return contents;
1522
1598
  }, "de_ReEncryptDataCommand");
1599
+ var de_TranslateKeyMaterialCommand = /* @__PURE__ */ __name(async (output, context) => {
1600
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1601
+ return de_CommandError(output, context);
1602
+ }
1603
+ const contents = (0, import_smithy_client.map)({
1604
+ $metadata: deserializeMetadata(output)
1605
+ });
1606
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1607
+ const doc = (0, import_smithy_client.take)(data, {
1608
+ WrappedKey: import_smithy_client._json
1609
+ });
1610
+ Object.assign(contents, doc);
1611
+ return contents;
1612
+ }, "de_TranslateKeyMaterialCommand");
1523
1613
  var de_TranslatePinDataCommand = /* @__PURE__ */ __name(async (output, context) => {
1524
1614
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1525
1615
  return de_CommandError(output, context);
@@ -1823,6 +1913,21 @@ var ReEncryptDataCommand = class extends import_smithy_client.Command.classBuild
1823
1913
  }
1824
1914
  };
1825
1915
 
1916
+ // src/commands/TranslateKeyMaterialCommand.ts
1917
+
1918
+
1919
+
1920
+ var TranslateKeyMaterialCommand = class extends import_smithy_client.Command.classBuilder().ep(commonParams).m(function(Command, cs, config, o) {
1921
+ return [
1922
+ (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
1923
+ (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions())
1924
+ ];
1925
+ }).s("PaymentCryptographyDataPlane", "TranslateKeyMaterial", {}).n("PaymentCryptographyDataClient", "TranslateKeyMaterialCommand").f(TranslateKeyMaterialInputFilterSensitiveLog, TranslateKeyMaterialOutputFilterSensitiveLog).ser(se_TranslateKeyMaterialCommand).de(de_TranslateKeyMaterialCommand).build() {
1926
+ static {
1927
+ __name(this, "TranslateKeyMaterialCommand");
1928
+ }
1929
+ };
1930
+
1826
1931
  // src/commands/TranslatePinDataCommand.ts
1827
1932
 
1828
1933
 
@@ -1907,6 +2012,7 @@ var commands = {
1907
2012
  GenerateMacEmvPinChangeCommand,
1908
2013
  GeneratePinDataCommand,
1909
2014
  ReEncryptDataCommand,
2015
+ TranslateKeyMaterialCommand,
1910
2016
  TranslatePinDataCommand,
1911
2017
  VerifyAuthRequestCryptogramCommand,
1912
2018
  VerifyCardValidationDataCommand,
@@ -1934,6 +2040,7 @@ var PaymentCryptographyData = class extends PaymentCryptographyDataClient {
1934
2040
  GenerateMacEmvPinChangeCommand,
1935
2041
  GeneratePinDataCommand,
1936
2042
  ReEncryptDataCommand,
2043
+ TranslateKeyMaterialCommand,
1937
2044
  TranslatePinDataCommand,
1938
2045
  VerifyAuthRequestCryptogramCommand,
1939
2046
  VerifyCardValidationDataCommand,
@@ -1964,6 +2071,7 @@ var PaymentCryptographyData = class extends PaymentCryptographyDataClient {
1964
2071
  PinBlockLengthPosition,
1965
2072
  PinBlockPaddingType,
1966
2073
  DerivationMethodAttributes,
2074
+ DiffieHellmanDerivationData,
1967
2075
  MacAlgorithm,
1968
2076
  SessionKeyDerivationMode,
1969
2077
  SessionKeyDerivationValue,
@@ -1972,7 +2080,10 @@ var PaymentCryptographyData = class extends PaymentCryptographyDataClient {
1972
2080
  PinGenerationAttributes,
1973
2081
  PinBlockFormatForPinData,
1974
2082
  PinData,
2083
+ IncomingKeyMaterial,
2084
+ OutgoingKeyMaterial,
1975
2085
  ReEncryptionAttributes,
2086
+ WrappedKeyMaterialFormat,
1976
2087
  TranslationIsoFormats,
1977
2088
  VerificationFailedReason,
1978
2089
  VerificationFailedException,
@@ -1995,7 +2106,6 @@ var PaymentCryptographyData = class extends PaymentCryptographyDataClient {
1995
2106
  EmvEncryptionAttributesFilterSensitiveLog,
1996
2107
  SymmetricEncryptionAttributesFilterSensitiveLog,
1997
2108
  EncryptionDecryptionAttributesFilterSensitiveLog,
1998
- EcdhDerivationAttributesFilterSensitiveLog,
1999
2109
  WrappedKeyMaterialFilterSensitiveLog,
2000
2110
  WrappedKeyFilterSensitiveLog,
2001
2111
  DecryptDataInputFilterSensitiveLog,
@@ -2026,9 +2136,14 @@ var PaymentCryptographyData = class extends PaymentCryptographyDataClient {
2026
2136
  PinDataFilterSensitiveLog,
2027
2137
  GeneratePinDataOutputFilterSensitiveLog,
2028
2138
  Ibm3624PinVerificationFilterSensitiveLog,
2139
+ IncomingDiffieHellmanTr31KeyBlockFilterSensitiveLog,
2140
+ IncomingKeyMaterialFilterSensitiveLog,
2029
2141
  ReEncryptionAttributesFilterSensitiveLog,
2030
2142
  ReEncryptDataInputFilterSensitiveLog,
2031
2143
  ReEncryptDataOutputFilterSensitiveLog,
2144
+ TranslateKeyMaterialInputFilterSensitiveLog,
2145
+ WrappedWorkingKeyFilterSensitiveLog,
2146
+ TranslateKeyMaterialOutputFilterSensitiveLog,
2032
2147
  TranslationPinDataIsoFormat034FilterSensitiveLog,
2033
2148
  TranslationIsoFormatsFilterSensitiveLog,
2034
2149
  TranslatePinDataInputFilterSensitiveLog,
@@ -6,6 +6,7 @@ import { GenerateMacCommand } from "./commands/GenerateMacCommand";
6
6
  import { GenerateMacEmvPinChangeCommand, } from "./commands/GenerateMacEmvPinChangeCommand";
7
7
  import { GeneratePinDataCommand, } from "./commands/GeneratePinDataCommand";
8
8
  import { ReEncryptDataCommand, } from "./commands/ReEncryptDataCommand";
9
+ import { TranslateKeyMaterialCommand, } from "./commands/TranslateKeyMaterialCommand";
9
10
  import { TranslatePinDataCommand, } from "./commands/TranslatePinDataCommand";
10
11
  import { VerifyAuthRequestCryptogramCommand, } from "./commands/VerifyAuthRequestCryptogramCommand";
11
12
  import { VerifyCardValidationDataCommand, } from "./commands/VerifyCardValidationDataCommand";
@@ -20,6 +21,7 @@ const commands = {
20
21
  GenerateMacEmvPinChangeCommand,
21
22
  GeneratePinDataCommand,
22
23
  ReEncryptDataCommand,
24
+ TranslateKeyMaterialCommand,
23
25
  TranslatePinDataCommand,
24
26
  VerifyAuthRequestCryptogramCommand,
25
27
  VerifyCardValidationDataCommand,
@@ -0,0 +1,23 @@
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 { TranslateKeyMaterialInputFilterSensitiveLog, TranslateKeyMaterialOutputFilterSensitiveLog, } from "../models/models_0";
6
+ import { de_TranslateKeyMaterialCommand, se_TranslateKeyMaterialCommand } from "../protocols/Aws_restJson1";
7
+ export { $Command };
8
+ export class TranslateKeyMaterialCommand extends $Command
9
+ .classBuilder()
10
+ .ep(commonParams)
11
+ .m(function (Command, cs, config, o) {
12
+ return [
13
+ getSerdePlugin(config, this.serialize, this.deserialize),
14
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
15
+ ];
16
+ })
17
+ .s("PaymentCryptographyDataPlane", "TranslateKeyMaterial", {})
18
+ .n("PaymentCryptographyDataClient", "TranslateKeyMaterialCommand")
19
+ .f(TranslateKeyMaterialInputFilterSensitiveLog, TranslateKeyMaterialOutputFilterSensitiveLog)
20
+ .ser(se_TranslateKeyMaterialCommand)
21
+ .de(de_TranslateKeyMaterialCommand)
22
+ .build() {
23
+ }
@@ -5,6 +5,7 @@ export * from "./GenerateMacCommand";
5
5
  export * from "./GenerateMacEmvPinChangeCommand";
6
6
  export * from "./GeneratePinDataCommand";
7
7
  export * from "./ReEncryptDataCommand";
8
+ export * from "./TranslateKeyMaterialCommand";
8
9
  export * from "./TranslatePinDataCommand";
9
10
  export * from "./VerifyAuthRequestCryptogramCommand";
10
11
  export * from "./VerifyCardValidationDataCommand";
@@ -240,6 +240,14 @@ export var DerivationMethodAttributes;
240
240
  return visitor._(value.$unknown[0], value.$unknown[1]);
241
241
  };
242
242
  })(DerivationMethodAttributes || (DerivationMethodAttributes = {}));
243
+ export var DiffieHellmanDerivationData;
244
+ (function (DiffieHellmanDerivationData) {
245
+ DiffieHellmanDerivationData.visit = (value, visitor) => {
246
+ if (value.SharedInformation !== undefined)
247
+ return visitor.SharedInformation(value.SharedInformation);
248
+ return visitor._(value.$unknown[0], value.$unknown[1]);
249
+ };
250
+ })(DiffieHellmanDerivationData || (DiffieHellmanDerivationData = {}));
243
251
  export const MacAlgorithm = {
244
252
  CMAC: "CMAC",
245
253
  HMAC: "HMAC",
@@ -308,6 +316,7 @@ export var PinGenerationAttributes;
308
316
  })(PinGenerationAttributes || (PinGenerationAttributes = {}));
309
317
  export const PinBlockFormatForPinData = {
310
318
  ISO_FORMAT_0: "ISO_FORMAT_0",
319
+ ISO_FORMAT_1: "ISO_FORMAT_1",
311
320
  ISO_FORMAT_3: "ISO_FORMAT_3",
312
321
  ISO_FORMAT_4: "ISO_FORMAT_4",
313
322
  };
@@ -321,6 +330,22 @@ export var PinData;
321
330
  return visitor._(value.$unknown[0], value.$unknown[1]);
322
331
  };
323
332
  })(PinData || (PinData = {}));
333
+ export var IncomingKeyMaterial;
334
+ (function (IncomingKeyMaterial) {
335
+ IncomingKeyMaterial.visit = (value, visitor) => {
336
+ if (value.DiffieHellmanTr31KeyBlock !== undefined)
337
+ return visitor.DiffieHellmanTr31KeyBlock(value.DiffieHellmanTr31KeyBlock);
338
+ return visitor._(value.$unknown[0], value.$unknown[1]);
339
+ };
340
+ })(IncomingKeyMaterial || (IncomingKeyMaterial = {}));
341
+ export var OutgoingKeyMaterial;
342
+ (function (OutgoingKeyMaterial) {
343
+ OutgoingKeyMaterial.visit = (value, visitor) => {
344
+ if (value.Tr31KeyBlock !== undefined)
345
+ return visitor.Tr31KeyBlock(value.Tr31KeyBlock);
346
+ return visitor._(value.$unknown[0], value.$unknown[1]);
347
+ };
348
+ })(OutgoingKeyMaterial || (OutgoingKeyMaterial = {}));
324
349
  export var ReEncryptionAttributes;
325
350
  (function (ReEncryptionAttributes) {
326
351
  ReEncryptionAttributes.visit = (value, visitor) => {
@@ -331,6 +356,11 @@ export var ReEncryptionAttributes;
331
356
  return visitor._(value.$unknown[0], value.$unknown[1]);
332
357
  };
333
358
  })(ReEncryptionAttributes || (ReEncryptionAttributes = {}));
359
+ export const WrappedKeyMaterialFormat = {
360
+ KEY_CRYPTOGRAM: "KEY_CRYPTOGRAM",
361
+ TR31_KEY_BLOCK: "TR31_KEY_BLOCK",
362
+ TR34_KEY_BLOCK: "TR34_KEY_BLOCK",
363
+ };
334
364
  export var TranslationIsoFormats;
335
365
  (function (TranslationIsoFormats) {
336
366
  TranslationIsoFormats.visit = (value, visitor) => {
@@ -529,15 +559,11 @@ export const EncryptionDecryptionAttributesFilterSensitiveLog = (obj) => {
529
559
  if (obj.$unknown !== undefined)
530
560
  return { [obj.$unknown[0]]: "UNKNOWN" };
531
561
  };
532
- export const EcdhDerivationAttributesFilterSensitiveLog = (obj) => ({
533
- ...obj,
534
- ...(obj.PublicKeyCertificate && { PublicKeyCertificate: SENSITIVE_STRING }),
535
- });
536
562
  export const WrappedKeyMaterialFilterSensitiveLog = (obj) => {
537
563
  if (obj.Tr31KeyBlock !== undefined)
538
564
  return { Tr31KeyBlock: SENSITIVE_STRING };
539
565
  if (obj.DiffieHellmanSymmetricKey !== undefined)
540
- return { DiffieHellmanSymmetricKey: EcdhDerivationAttributesFilterSensitiveLog(obj.DiffieHellmanSymmetricKey) };
566
+ return { DiffieHellmanSymmetricKey: obj.DiffieHellmanSymmetricKey };
541
567
  if (obj.$unknown !== undefined)
542
568
  return { [obj.$unknown[0]]: "UNKNOWN" };
543
569
  };
@@ -735,6 +761,19 @@ export const Ibm3624PinVerificationFilterSensitiveLog = (obj) => ({
735
761
  ...(obj.PinValidationData && { PinValidationData: SENSITIVE_STRING }),
736
762
  ...(obj.PinOffset && { PinOffset: SENSITIVE_STRING }),
737
763
  });
764
+ export const IncomingDiffieHellmanTr31KeyBlockFilterSensitiveLog = (obj) => ({
765
+ ...obj,
766
+ ...(obj.DerivationData && { DerivationData: obj.DerivationData }),
767
+ ...(obj.WrappedKeyBlock && { WrappedKeyBlock: SENSITIVE_STRING }),
768
+ });
769
+ export const IncomingKeyMaterialFilterSensitiveLog = (obj) => {
770
+ if (obj.DiffieHellmanTr31KeyBlock !== undefined)
771
+ return {
772
+ DiffieHellmanTr31KeyBlock: IncomingDiffieHellmanTr31KeyBlockFilterSensitiveLog(obj.DiffieHellmanTr31KeyBlock),
773
+ };
774
+ if (obj.$unknown !== undefined)
775
+ return { [obj.$unknown[0]]: "UNKNOWN" };
776
+ };
738
777
  export const ReEncryptionAttributesFilterSensitiveLog = (obj) => {
739
778
  if (obj.Symmetric !== undefined)
740
779
  return { Symmetric: SymmetricEncryptionAttributesFilterSensitiveLog(obj.Symmetric) };
@@ -759,6 +798,21 @@ export const ReEncryptDataOutputFilterSensitiveLog = (obj) => ({
759
798
  ...obj,
760
799
  ...(obj.CipherText && { CipherText: SENSITIVE_STRING }),
761
800
  });
801
+ export const TranslateKeyMaterialInputFilterSensitiveLog = (obj) => ({
802
+ ...obj,
803
+ ...(obj.IncomingKeyMaterial && {
804
+ IncomingKeyMaterial: IncomingKeyMaterialFilterSensitiveLog(obj.IncomingKeyMaterial),
805
+ }),
806
+ ...(obj.OutgoingKeyMaterial && { OutgoingKeyMaterial: obj.OutgoingKeyMaterial }),
807
+ });
808
+ export const WrappedWorkingKeyFilterSensitiveLog = (obj) => ({
809
+ ...obj,
810
+ ...(obj.WrappedKeyMaterial && { WrappedKeyMaterial: SENSITIVE_STRING }),
811
+ });
812
+ export const TranslateKeyMaterialOutputFilterSensitiveLog = (obj) => ({
813
+ ...obj,
814
+ ...(obj.WrappedKey && { WrappedKey: WrappedWorkingKeyFilterSensitiveLog(obj.WrappedKey) }),
815
+ });
762
816
  export const TranslationPinDataIsoFormat034FilterSensitiveLog = (obj) => ({
763
817
  ...obj,
764
818
  ...(obj.PrimaryAccountNumber && { PrimaryAccountNumber: SENSITIVE_STRING }),
@@ -124,6 +124,21 @@ export const se_ReEncryptDataCommand = async (input, context) => {
124
124
  b.m("POST").h(headers).b(body);
125
125
  return b.build();
126
126
  };
127
+ export const se_TranslateKeyMaterialCommand = async (input, context) => {
128
+ const b = rb(input, context);
129
+ const headers = {
130
+ "content-type": "application/json",
131
+ };
132
+ b.bp("/keymaterial/translate");
133
+ let body;
134
+ body = JSON.stringify(take(input, {
135
+ IncomingKeyMaterial: (_) => _json(_),
136
+ KeyCheckValueAlgorithm: [],
137
+ OutgoingKeyMaterial: (_) => _json(_),
138
+ }));
139
+ b.m("POST").h(headers).b(body);
140
+ return b.build();
141
+ };
127
142
  export const se_TranslatePinDataCommand = async (input, context) => {
128
143
  const b = rb(input, context);
129
144
  const headers = {
@@ -338,6 +353,20 @@ export const de_ReEncryptDataCommand = async (output, context) => {
338
353
  Object.assign(contents, doc);
339
354
  return contents;
340
355
  };
356
+ export const de_TranslateKeyMaterialCommand = async (output, context) => {
357
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
358
+ return de_CommandError(output, context);
359
+ }
360
+ const contents = map({
361
+ $metadata: deserializeMetadata(output),
362
+ });
363
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
364
+ const doc = take(data, {
365
+ WrappedKey: _json,
366
+ });
367
+ Object.assign(contents, doc);
368
+ return contents;
369
+ };
341
370
  export const de_TranslatePinDataCommand = async (output, context) => {
342
371
  if (output.statusCode !== 200 && output.statusCode >= 300) {
343
372
  return de_CommandError(output, context);
@@ -6,6 +6,7 @@ import { GenerateMacCommandInput, GenerateMacCommandOutput } from "./commands/Ge
6
6
  import { GenerateMacEmvPinChangeCommandInput, GenerateMacEmvPinChangeCommandOutput } from "./commands/GenerateMacEmvPinChangeCommand";
7
7
  import { GeneratePinDataCommandInput, GeneratePinDataCommandOutput } from "./commands/GeneratePinDataCommand";
8
8
  import { ReEncryptDataCommandInput, ReEncryptDataCommandOutput } from "./commands/ReEncryptDataCommand";
9
+ import { TranslateKeyMaterialCommandInput, TranslateKeyMaterialCommandOutput } from "./commands/TranslateKeyMaterialCommand";
9
10
  import { TranslatePinDataCommandInput, TranslatePinDataCommandOutput } from "./commands/TranslatePinDataCommand";
10
11
  import { VerifyAuthRequestCryptogramCommandInput, VerifyAuthRequestCryptogramCommandOutput } from "./commands/VerifyAuthRequestCryptogramCommand";
11
12
  import { VerifyCardValidationDataCommandInput, VerifyCardValidationDataCommandOutput } from "./commands/VerifyCardValidationDataCommand";
@@ -55,6 +56,12 @@ export interface PaymentCryptographyData {
55
56
  reEncryptData(args: ReEncryptDataCommandInput, options?: __HttpHandlerOptions): Promise<ReEncryptDataCommandOutput>;
56
57
  reEncryptData(args: ReEncryptDataCommandInput, cb: (err: any, data?: ReEncryptDataCommandOutput) => void): void;
57
58
  reEncryptData(args: ReEncryptDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ReEncryptDataCommandOutput) => void): void;
59
+ /**
60
+ * @see {@link TranslateKeyMaterialCommand}
61
+ */
62
+ translateKeyMaterial(args: TranslateKeyMaterialCommandInput, options?: __HttpHandlerOptions): Promise<TranslateKeyMaterialCommandOutput>;
63
+ translateKeyMaterial(args: TranslateKeyMaterialCommandInput, cb: (err: any, data?: TranslateKeyMaterialCommandOutput) => void): void;
64
+ translateKeyMaterial(args: TranslateKeyMaterialCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TranslateKeyMaterialCommandOutput) => void): void;
58
65
  /**
59
66
  * @see {@link TranslatePinDataCommand}
60
67
  */
@@ -14,6 +14,7 @@ import { GenerateMacCommandInput, GenerateMacCommandOutput } from "./commands/Ge
14
14
  import { GenerateMacEmvPinChangeCommandInput, GenerateMacEmvPinChangeCommandOutput } from "./commands/GenerateMacEmvPinChangeCommand";
15
15
  import { GeneratePinDataCommandInput, GeneratePinDataCommandOutput } from "./commands/GeneratePinDataCommand";
16
16
  import { ReEncryptDataCommandInput, ReEncryptDataCommandOutput } from "./commands/ReEncryptDataCommand";
17
+ import { TranslateKeyMaterialCommandInput, TranslateKeyMaterialCommandOutput } from "./commands/TranslateKeyMaterialCommand";
17
18
  import { TranslatePinDataCommandInput, TranslatePinDataCommandOutput } from "./commands/TranslatePinDataCommand";
18
19
  import { VerifyAuthRequestCryptogramCommandInput, VerifyAuthRequestCryptogramCommandOutput } from "./commands/VerifyAuthRequestCryptogramCommand";
19
20
  import { VerifyCardValidationDataCommandInput, VerifyCardValidationDataCommandOutput } from "./commands/VerifyCardValidationDataCommand";
@@ -25,11 +26,11 @@ export { __Client };
25
26
  /**
26
27
  * @public
27
28
  */
28
- export type ServiceInputTypes = DecryptDataCommandInput | EncryptDataCommandInput | GenerateCardValidationDataCommandInput | GenerateMacCommandInput | GenerateMacEmvPinChangeCommandInput | GeneratePinDataCommandInput | ReEncryptDataCommandInput | TranslatePinDataCommandInput | VerifyAuthRequestCryptogramCommandInput | VerifyCardValidationDataCommandInput | VerifyMacCommandInput | VerifyPinDataCommandInput;
29
+ export type ServiceInputTypes = DecryptDataCommandInput | EncryptDataCommandInput | GenerateCardValidationDataCommandInput | GenerateMacCommandInput | GenerateMacEmvPinChangeCommandInput | GeneratePinDataCommandInput | ReEncryptDataCommandInput | TranslateKeyMaterialCommandInput | TranslatePinDataCommandInput | VerifyAuthRequestCryptogramCommandInput | VerifyCardValidationDataCommandInput | VerifyMacCommandInput | VerifyPinDataCommandInput;
29
30
  /**
30
31
  * @public
31
32
  */
32
- export type ServiceOutputTypes = DecryptDataCommandOutput | EncryptDataCommandOutput | GenerateCardValidationDataCommandOutput | GenerateMacCommandOutput | GenerateMacEmvPinChangeCommandOutput | GeneratePinDataCommandOutput | ReEncryptDataCommandOutput | TranslatePinDataCommandOutput | VerifyAuthRequestCryptogramCommandOutput | VerifyCardValidationDataCommandOutput | VerifyMacCommandOutput | VerifyPinDataCommandOutput;
33
+ export type ServiceOutputTypes = DecryptDataCommandOutput | EncryptDataCommandOutput | GenerateCardValidationDataCommandOutput | GenerateMacCommandOutput | GenerateMacEmvPinChangeCommandOutput | GeneratePinDataCommandOutput | ReEncryptDataCommandOutput | TranslateKeyMaterialCommandOutput | TranslatePinDataCommandOutput | VerifyAuthRequestCryptogramCommandOutput | VerifyCardValidationDataCommandOutput | VerifyMacCommandOutput | VerifyPinDataCommandOutput;
33
34
  /**
34
35
  * @public
35
36
  */
@@ -27,7 +27,7 @@ declare const GenerateMacCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Generates a Message Authentication Code (MAC) cryptogram within Amazon Web Services Payment Cryptography. </p> <p>You can use this operation to authenticate card-related data by using known data values to generate MAC for data validation between the sending and receiving parties. This operation uses message data, a secret encryption key and MAC algorithm to generate a unique MAC value for transmission. The receiving party of the MAC must use the same message data, secret encryption key and MAC algorithm to reproduce another MAC value for comparision.</p> <p>You can use this operation to generate a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values. The MAC generation encryption key must have valid values for <code>KeyUsage</code> such as <code>TR31_M7_HMAC_KEY</code> for HMAC generation, and they key must have <code>KeyModesOfUse</code> set to <code>Generate</code> and <code>Verify</code>.</p> <p>For information about valid keys for this operation, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html">Understanding key attributes</a> and <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html">Key types for specific data operations</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>. </p> <p> <b>Cross-account use</b>: This operation can't be used across different Amazon Web Services accounts.</p> <p> <b>Related operations:</b> </p> <ul> <li> <p> <a>VerifyMac</a> </p> </li> </ul>
30
+ * <p>Generates a Message Authentication Code (MAC) cryptogram within Amazon Web Services Payment Cryptography. </p> <p>You can use this operation to authenticate card-related data by using known data values to generate MAC for data validation between the sending and receiving parties. This operation uses message data, a secret encryption key and MAC algorithm to generate a unique MAC value for transmission. The receiving party of the MAC must use the same message data, secret encryption key and MAC algorithm to reproduce another MAC value for comparision.</p> <p>You can use this operation to generate a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values. The MAC generation encryption key must have valid values for <code>KeyUsage</code> such as <code>TR31_M7_HMAC_KEY</code> for HMAC generation, and the key must have <code>KeyModesOfUse</code> set to <code>Generate</code> and <code>Verify</code>.</p> <p>For information about valid keys for this operation, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html">Understanding key attributes</a> and <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html">Key types for specific data operations</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>. </p> <p> <b>Cross-account use</b>: This operation can't be used across different Amazon Web Services accounts.</p> <p> <b>Related operations:</b> </p> <ul> <li> <p> <a>VerifyMac</a> </p> </li> </ul>
31
31
  * @example
32
32
  * Use a bare-bones client and the command you need to make an API call.
33
33
  * ```javascript
@@ -71,8 +71,8 @@ declare const GeneratePinDataCommand_base: {
71
71
  * },
72
72
  * },
73
73
  * PinDataLength: Number("int"),
74
- * PrimaryAccountNumber: "STRING_VALUE", // required
75
- * PinBlockFormat: "ISO_FORMAT_0" || "ISO_FORMAT_3" || "ISO_FORMAT_4", // required
74
+ * PrimaryAccountNumber: "STRING_VALUE",
75
+ * PinBlockFormat: "ISO_FORMAT_0" || "ISO_FORMAT_1" || "ISO_FORMAT_3" || "ISO_FORMAT_4", // required
76
76
  * EncryptionWrappedKey: { // WrappedKey
77
77
  * WrappedKeyMaterial: { // WrappedKeyMaterial Union: only one key present
78
78
  * Tr31KeyBlock: "STRING_VALUE",