@aws-sdk/client-payment-cryptography-data 3.1137.0 → 3.1139.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
@@ -69,7 +69,7 @@ const commonParams = {
69
69
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
70
70
  };
71
71
 
72
- var version = "3.1136.0";
72
+ var version = "3.1138.0";
73
73
  var packageInfo = {
74
74
  version: version};
75
75
 
@@ -525,10 +525,10 @@ const _p = "path";
525
525
  const _s = "smithy.ts.sdk.synthetic.com.amazonaws.paymentcryptographydata";
526
526
  const _se = "server";
527
527
  const n0 = "com.amazonaws.paymentcryptographydata";
528
- const _s_registry = TypeRegistry.for(_s);
528
+ const _s_registry = new TypeRegistry(_s);
529
529
  var PaymentCryptographyDataServiceException$ = [-3, _s, "PaymentCryptographyDataServiceException", 0, [], []];
530
530
  _s_registry.registerError(PaymentCryptographyDataServiceException$, PaymentCryptographyDataServiceException);
531
- const n0_registry = TypeRegistry.for(n0);
531
+ const n0_registry = new TypeRegistry(n0);
532
532
  var AccessDeniedException$ = [-3, n0, _ADE,
533
533
  { [_e]: _c, [_hE]: 403 },
534
534
  [_M],
@@ -1074,8 +1074,8 @@ var PinVerificationAttributes$ = [4, n0, _PVA,
1074
1074
  ];
1075
1075
  var ReEncryptionAttributes$ = [4, n0, _REA,
1076
1076
  0,
1077
- [_S, _D],
1078
- [[() => SymmetricEncryptionAttributes$, 0], [() => DukptEncryptionAttributes$, 0]]
1077
+ [_S, _As, _D],
1078
+ [[() => SymmetricEncryptionAttributes$, 0], () => AsymmetricEncryptionAttributes$, [() => DukptEncryptionAttributes$, 0]]
1079
1079
  ];
1080
1080
  var SessionKeyDerivation$ = [4, n0, _SKD,
1081
1081
  0,
@@ -301,10 +301,10 @@ const n0 = "com.amazonaws.paymentcryptographydata";
301
301
  import { TypeRegistry } from "@smithy/core/schema";
302
302
  import { AccessDeniedException, InternalServerException, ResourceNotFoundException, ThrottlingException, ValidationException, VerificationFailedException, } from "../models/errors";
303
303
  import { PaymentCryptographyDataServiceException } from "../models/PaymentCryptographyDataServiceException";
304
- const _s_registry = TypeRegistry.for(_s);
304
+ const _s_registry = new TypeRegistry(_s);
305
305
  export var PaymentCryptographyDataServiceException$ = [-3, _s, "PaymentCryptographyDataServiceException", 0, [], []];
306
306
  _s_registry.registerError(PaymentCryptographyDataServiceException$, PaymentCryptographyDataServiceException);
307
- const n0_registry = TypeRegistry.for(n0);
307
+ const n0_registry = new TypeRegistry(n0);
308
308
  export var AccessDeniedException$ = [-3, n0, _ADE,
309
309
  { [_e]: _c, [_hE]: 403 },
310
310
  [_M],
@@ -850,8 +850,8 @@ export var PinVerificationAttributes$ = [4, n0, _PVA,
850
850
  ];
851
851
  export var ReEncryptionAttributes$ = [4, n0, _REA,
852
852
  0,
853
- [_S, _D],
854
- [[() => SymmetricEncryptionAttributes$, 0], [() => DukptEncryptionAttributes$, 0]]
853
+ [_S, _As, _D],
854
+ [[() => SymmetricEncryptionAttributes$, 0], () => AsymmetricEncryptionAttributes$, [() => DukptEncryptionAttributes$, 0]]
855
855
  ];
856
856
  export var SessionKeyDerivation$ = [4, n0, _SKD,
857
857
  0,
@@ -1,4 +1,4 @@
1
- import type { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
1
+ import type { HttpHandlerOptions as __HttpHandlerOptions, MetricsRecorder as __MetricsRecorder } from "@smithy/types";
2
2
  import { type DecryptDataCommandInput, type DecryptDataCommandOutput } from "./commands/DecryptDataCommand";
3
3
  import { type EncryptDataCommandInput, type EncryptDataCommandOutput } from "./commands/EncryptDataCommand";
4
4
  import { type GenerateAs2805KekValidationCommandInput, type GenerateAs2805KekValidationCommandOutput } from "./commands/GenerateAs2805KekValidationCommand";
@@ -15,97 +15,103 @@ import { type VerifyCardValidationDataCommandInput, type VerifyCardValidationDat
15
15
  import { type VerifyMacCommandInput, type VerifyMacCommandOutput } from "./commands/VerifyMacCommand";
16
16
  import { type VerifyPinDataCommandInput, type VerifyPinDataCommandOutput } from "./commands/VerifyPinDataCommand";
17
17
  import { PaymentCryptographyDataClient } from "./PaymentCryptographyDataClient";
18
+ /**
19
+ * @public
20
+ */
21
+ export interface PaymentCryptographyDataRequestOptions extends __HttpHandlerOptions {
22
+ metricsRecorder?: __MetricsRecorder<unknown>;
23
+ }
18
24
  export interface PaymentCryptographyData {
19
25
  /**
20
26
  * @see {@link DecryptDataCommand}
21
27
  */
22
- decryptData(args: DecryptDataCommandInput, options?: __HttpHandlerOptions): Promise<DecryptDataCommandOutput>;
28
+ decryptData(args: DecryptDataCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<DecryptDataCommandOutput>;
23
29
  decryptData(args: DecryptDataCommandInput, cb: (err: any, data?: DecryptDataCommandOutput) => void): void;
24
- decryptData(args: DecryptDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DecryptDataCommandOutput) => void): void;
30
+ decryptData(args: DecryptDataCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: DecryptDataCommandOutput) => void): void;
25
31
  /**
26
32
  * @see {@link EncryptDataCommand}
27
33
  */
28
- encryptData(args: EncryptDataCommandInput, options?: __HttpHandlerOptions): Promise<EncryptDataCommandOutput>;
34
+ encryptData(args: EncryptDataCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<EncryptDataCommandOutput>;
29
35
  encryptData(args: EncryptDataCommandInput, cb: (err: any, data?: EncryptDataCommandOutput) => void): void;
30
- encryptData(args: EncryptDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: EncryptDataCommandOutput) => void): void;
36
+ encryptData(args: EncryptDataCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: EncryptDataCommandOutput) => void): void;
31
37
  /**
32
38
  * @see {@link GenerateAs2805KekValidationCommand}
33
39
  */
34
- generateAs2805KekValidation(args: GenerateAs2805KekValidationCommandInput, options?: __HttpHandlerOptions): Promise<GenerateAs2805KekValidationCommandOutput>;
40
+ generateAs2805KekValidation(args: GenerateAs2805KekValidationCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<GenerateAs2805KekValidationCommandOutput>;
35
41
  generateAs2805KekValidation(args: GenerateAs2805KekValidationCommandInput, cb: (err: any, data?: GenerateAs2805KekValidationCommandOutput) => void): void;
36
- generateAs2805KekValidation(args: GenerateAs2805KekValidationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateAs2805KekValidationCommandOutput) => void): void;
42
+ generateAs2805KekValidation(args: GenerateAs2805KekValidationCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: GenerateAs2805KekValidationCommandOutput) => void): void;
37
43
  /**
38
44
  * @see {@link GenerateAuthRequestCryptogramCommand}
39
45
  */
40
- generateAuthRequestCryptogram(args: GenerateAuthRequestCryptogramCommandInput, options?: __HttpHandlerOptions): Promise<GenerateAuthRequestCryptogramCommandOutput>;
46
+ generateAuthRequestCryptogram(args: GenerateAuthRequestCryptogramCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<GenerateAuthRequestCryptogramCommandOutput>;
41
47
  generateAuthRequestCryptogram(args: GenerateAuthRequestCryptogramCommandInput, cb: (err: any, data?: GenerateAuthRequestCryptogramCommandOutput) => void): void;
42
- generateAuthRequestCryptogram(args: GenerateAuthRequestCryptogramCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateAuthRequestCryptogramCommandOutput) => void): void;
48
+ generateAuthRequestCryptogram(args: GenerateAuthRequestCryptogramCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: GenerateAuthRequestCryptogramCommandOutput) => void): void;
43
49
  /**
44
50
  * @see {@link GenerateCardValidationDataCommand}
45
51
  */
46
- generateCardValidationData(args: GenerateCardValidationDataCommandInput, options?: __HttpHandlerOptions): Promise<GenerateCardValidationDataCommandOutput>;
52
+ generateCardValidationData(args: GenerateCardValidationDataCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<GenerateCardValidationDataCommandOutput>;
47
53
  generateCardValidationData(args: GenerateCardValidationDataCommandInput, cb: (err: any, data?: GenerateCardValidationDataCommandOutput) => void): void;
48
- generateCardValidationData(args: GenerateCardValidationDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateCardValidationDataCommandOutput) => void): void;
54
+ generateCardValidationData(args: GenerateCardValidationDataCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: GenerateCardValidationDataCommandOutput) => void): void;
49
55
  /**
50
56
  * @see {@link GenerateMacCommand}
51
57
  */
52
- generateMac(args: GenerateMacCommandInput, options?: __HttpHandlerOptions): Promise<GenerateMacCommandOutput>;
58
+ generateMac(args: GenerateMacCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<GenerateMacCommandOutput>;
53
59
  generateMac(args: GenerateMacCommandInput, cb: (err: any, data?: GenerateMacCommandOutput) => void): void;
54
- generateMac(args: GenerateMacCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateMacCommandOutput) => void): void;
60
+ generateMac(args: GenerateMacCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: GenerateMacCommandOutput) => void): void;
55
61
  /**
56
62
  * @see {@link GenerateMacEmvPinChangeCommand}
57
63
  */
58
- generateMacEmvPinChange(args: GenerateMacEmvPinChangeCommandInput, options?: __HttpHandlerOptions): Promise<GenerateMacEmvPinChangeCommandOutput>;
64
+ generateMacEmvPinChange(args: GenerateMacEmvPinChangeCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<GenerateMacEmvPinChangeCommandOutput>;
59
65
  generateMacEmvPinChange(args: GenerateMacEmvPinChangeCommandInput, cb: (err: any, data?: GenerateMacEmvPinChangeCommandOutput) => void): void;
60
- generateMacEmvPinChange(args: GenerateMacEmvPinChangeCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateMacEmvPinChangeCommandOutput) => void): void;
66
+ generateMacEmvPinChange(args: GenerateMacEmvPinChangeCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: GenerateMacEmvPinChangeCommandOutput) => void): void;
61
67
  /**
62
68
  * @see {@link GeneratePinDataCommand}
63
69
  */
64
- generatePinData(args: GeneratePinDataCommandInput, options?: __HttpHandlerOptions): Promise<GeneratePinDataCommandOutput>;
70
+ generatePinData(args: GeneratePinDataCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<GeneratePinDataCommandOutput>;
65
71
  generatePinData(args: GeneratePinDataCommandInput, cb: (err: any, data?: GeneratePinDataCommandOutput) => void): void;
66
- generatePinData(args: GeneratePinDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GeneratePinDataCommandOutput) => void): void;
72
+ generatePinData(args: GeneratePinDataCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: GeneratePinDataCommandOutput) => void): void;
67
73
  /**
68
74
  * @see {@link ReEncryptDataCommand}
69
75
  */
70
- reEncryptData(args: ReEncryptDataCommandInput, options?: __HttpHandlerOptions): Promise<ReEncryptDataCommandOutput>;
76
+ reEncryptData(args: ReEncryptDataCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<ReEncryptDataCommandOutput>;
71
77
  reEncryptData(args: ReEncryptDataCommandInput, cb: (err: any, data?: ReEncryptDataCommandOutput) => void): void;
72
- reEncryptData(args: ReEncryptDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ReEncryptDataCommandOutput) => void): void;
78
+ reEncryptData(args: ReEncryptDataCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: ReEncryptDataCommandOutput) => void): void;
73
79
  /**
74
80
  * @see {@link TranslateKeyMaterialCommand}
75
81
  */
76
- translateKeyMaterial(args: TranslateKeyMaterialCommandInput, options?: __HttpHandlerOptions): Promise<TranslateKeyMaterialCommandOutput>;
82
+ translateKeyMaterial(args: TranslateKeyMaterialCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<TranslateKeyMaterialCommandOutput>;
77
83
  translateKeyMaterial(args: TranslateKeyMaterialCommandInput, cb: (err: any, data?: TranslateKeyMaterialCommandOutput) => void): void;
78
- translateKeyMaterial(args: TranslateKeyMaterialCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TranslateKeyMaterialCommandOutput) => void): void;
84
+ translateKeyMaterial(args: TranslateKeyMaterialCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: TranslateKeyMaterialCommandOutput) => void): void;
79
85
  /**
80
86
  * @see {@link TranslatePinDataCommand}
81
87
  */
82
- translatePinData(args: TranslatePinDataCommandInput, options?: __HttpHandlerOptions): Promise<TranslatePinDataCommandOutput>;
88
+ translatePinData(args: TranslatePinDataCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<TranslatePinDataCommandOutput>;
83
89
  translatePinData(args: TranslatePinDataCommandInput, cb: (err: any, data?: TranslatePinDataCommandOutput) => void): void;
84
- translatePinData(args: TranslatePinDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TranslatePinDataCommandOutput) => void): void;
90
+ translatePinData(args: TranslatePinDataCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: TranslatePinDataCommandOutput) => void): void;
85
91
  /**
86
92
  * @see {@link VerifyAuthRequestCryptogramCommand}
87
93
  */
88
- verifyAuthRequestCryptogram(args: VerifyAuthRequestCryptogramCommandInput, options?: __HttpHandlerOptions): Promise<VerifyAuthRequestCryptogramCommandOutput>;
94
+ verifyAuthRequestCryptogram(args: VerifyAuthRequestCryptogramCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<VerifyAuthRequestCryptogramCommandOutput>;
89
95
  verifyAuthRequestCryptogram(args: VerifyAuthRequestCryptogramCommandInput, cb: (err: any, data?: VerifyAuthRequestCryptogramCommandOutput) => void): void;
90
- verifyAuthRequestCryptogram(args: VerifyAuthRequestCryptogramCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: VerifyAuthRequestCryptogramCommandOutput) => void): void;
96
+ verifyAuthRequestCryptogram(args: VerifyAuthRequestCryptogramCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: VerifyAuthRequestCryptogramCommandOutput) => void): void;
91
97
  /**
92
98
  * @see {@link VerifyCardValidationDataCommand}
93
99
  */
94
- verifyCardValidationData(args: VerifyCardValidationDataCommandInput, options?: __HttpHandlerOptions): Promise<VerifyCardValidationDataCommandOutput>;
100
+ verifyCardValidationData(args: VerifyCardValidationDataCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<VerifyCardValidationDataCommandOutput>;
95
101
  verifyCardValidationData(args: VerifyCardValidationDataCommandInput, cb: (err: any, data?: VerifyCardValidationDataCommandOutput) => void): void;
96
- verifyCardValidationData(args: VerifyCardValidationDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: VerifyCardValidationDataCommandOutput) => void): void;
102
+ verifyCardValidationData(args: VerifyCardValidationDataCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: VerifyCardValidationDataCommandOutput) => void): void;
97
103
  /**
98
104
  * @see {@link VerifyMacCommand}
99
105
  */
100
- verifyMac(args: VerifyMacCommandInput, options?: __HttpHandlerOptions): Promise<VerifyMacCommandOutput>;
106
+ verifyMac(args: VerifyMacCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<VerifyMacCommandOutput>;
101
107
  verifyMac(args: VerifyMacCommandInput, cb: (err: any, data?: VerifyMacCommandOutput) => void): void;
102
- verifyMac(args: VerifyMacCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: VerifyMacCommandOutput) => void): void;
108
+ verifyMac(args: VerifyMacCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: VerifyMacCommandOutput) => void): void;
103
109
  /**
104
110
  * @see {@link VerifyPinDataCommand}
105
111
  */
106
- verifyPinData(args: VerifyPinDataCommandInput, options?: __HttpHandlerOptions): Promise<VerifyPinDataCommandOutput>;
112
+ verifyPinData(args: VerifyPinDataCommandInput, options?: PaymentCryptographyDataRequestOptions): Promise<VerifyPinDataCommandOutput>;
107
113
  verifyPinData(args: VerifyPinDataCommandInput, cb: (err: any, data?: VerifyPinDataCommandOutput) => void): void;
108
- verifyPinData(args: VerifyPinDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: VerifyPinDataCommandOutput) => void): void;
114
+ verifyPinData(args: VerifyPinDataCommandInput, options: PaymentCryptographyDataRequestOptions, cb: (err: any, data?: VerifyPinDataCommandOutput) => void): void;
109
115
  }
110
116
  /**
111
117
  * <p>You use the Amazon Web Services Payment Cryptography Data Plane to manage how encryption keys are used for payment-related transaction processing and associated cryptographic operations. You can encrypt, decrypt, generate, verify, and translate payment-related cryptographic operations in Amazon Web Services Payment Cryptography. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/data-operations.html">Data operations</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>To manage your encryption keys, you use the <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/Welcome.html">Amazon Web Services Payment Cryptography Control Plane</a>. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys. </p>
@@ -24,7 +24,7 @@ declare const ReEncryptDataCommand_base: {
24
24
  getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions;
25
25
  };
26
26
  /**
27
- * <p>Re-encrypt ciphertext using DUKPT or Symmetric data encryption keys. </p> <p>You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html">CreateKey</a> or import your own encryption key by calling <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html">ImportKey</a>. The <code>KeyArn</code> for use with this operation must be in a compatible key state with <code>KeyModesOfUse</code> set to <code>Encrypt</code>. </p> <p>This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To re-encrypt using dynamic keys, the <code>keyARN</code> is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/use-cases-acquirers-dynamickeys.html">Using Dynamic Keys</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports <code>TDES</code> and <code>AES</code> algorithms. To encrypt using DUKPT, a DUKPT key must already exist within your account with <code>KeyModesOfUse</code> set to <code>DeriveKey</code> or a new DUKPT can be generated by calling <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html">CreateKey</a>.</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 supports cross-account use when the key has a resource-based policy that grants access. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html">Resource-based policies</a>.</p> <p> <b>Related operations:</b> </p> <ul> <li> <p> <a>DecryptData</a> </p> </li> <li> <p> <a>EncryptData</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html">GetPublicCertificate</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html">ImportKey</a> </p> </li> </ul>
27
+ * <p>Re-encrypts ciphertext using DUKPT, symmetric, or asymmetric data encryption keys. </p> <p>You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html">CreateKey</a> or import your own encryption key by calling <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html">ImportKey</a>. The <code>KeyArn</code> for use with this operation must be in a compatible key state with <code>KeyModesOfUse</code> set to <code>Encrypt</code>. </p> <p>This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To re-encrypt using dynamic keys, the <code>keyARN</code> is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/use-cases-acquirers-dynamickeys.html">Using Dynamic Keys</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>Amazon Web Services Payment Cryptography supports the following encryption key schemes:</p> <ul> <li> <p> <b>DUKPT</b>: <code>TDES</code> and <code>AES</code> algorithms. To encrypt using DUKPT, a DUKPT key must already exist within your account with <code>KeyModesOfUse</code> set to <code>DeriveKey</code> or a new DUKPT can be generated by calling <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html">CreateKey</a>.</p> </li> <li> <p> <b>Symmetric</b>: <code>TDES</code> and <code>AES</code> algorithms.</p> </li> <li> <p> <b>Asymmetric</b>: <code>RSA</code>. You can use an <code>RSA</code> key on either the incoming or the outgoing side, paired with a symmetric key on the other side.</p> </li> </ul> <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 supports cross-account use when the key has a resource-based policy that grants access. For more information, see <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/security_iam_resource-based-policies.html">Resource-based policies</a>.</p> <p> <b>Related operations:</b> </p> <ul> <li> <p> <a>DecryptData</a> </p> </li> <li> <p> <a>EncryptData</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html">GetPublicCertificate</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html">ImportKey</a> </p> </li> </ul>
28
28
  * @example
29
29
  * Use a bare-bones client and the command you need to make an API call.
30
30
  * ```javascript
@@ -43,6 +43,9 @@ declare const ReEncryptDataCommand_base: {
43
43
  * InitializationVector: "STRING_VALUE",
44
44
  * PaddingType: "PKCS1" || "OAEP_SHA1" || "OAEP_SHA256" || "OAEP_SHA512",
45
45
  * },
46
+ * Asymmetric: { // AsymmetricEncryptionAttributes
47
+ * PaddingType: "PKCS1" || "OAEP_SHA1" || "OAEP_SHA256" || "OAEP_SHA512",
48
+ * },
46
49
  * Dukpt: { // DukptEncryptionAttributes
47
50
  * KeySerialNumber: "STRING_VALUE", // required
48
51
  * Mode: "ECB" || "CBC",
@@ -57,6 +60,9 @@ declare const ReEncryptDataCommand_base: {
57
60
  * InitializationVector: "STRING_VALUE",
58
61
  * PaddingType: "PKCS1" || "OAEP_SHA1" || "OAEP_SHA256" || "OAEP_SHA512",
59
62
  * },
63
+ * Asymmetric: {
64
+ * PaddingType: "PKCS1" || "OAEP_SHA1" || "OAEP_SHA256" || "OAEP_SHA512",
65
+ * },
60
66
  * Dukpt: {
61
67
  * KeySerialNumber: "STRING_VALUE", // required
62
68
  * Mode: "ECB" || "CBC",
@@ -2549,26 +2549,38 @@ export declare namespace OutgoingKeyMaterial {
2549
2549
  * <p>Parameters that are required to perform reencryption operation.</p>
2550
2550
  * @public
2551
2551
  */
2552
- export type ReEncryptionAttributes = ReEncryptionAttributes.DukptMember | ReEncryptionAttributes.SymmetricMember | ReEncryptionAttributes.$UnknownMember;
2552
+ export type ReEncryptionAttributes = ReEncryptionAttributes.AsymmetricMember | ReEncryptionAttributes.DukptMember | ReEncryptionAttributes.SymmetricMember | ReEncryptionAttributes.$UnknownMember;
2553
2553
  /**
2554
2554
  * @public
2555
2555
  */
2556
2556
  export declare namespace ReEncryptionAttributes {
2557
2557
  /**
2558
- * <p>Parameters that are required to encrypt data using symmetric keys.</p>
2558
+ * <p>Specifies the parameters required to encrypt data using symmetric keys.</p>
2559
2559
  * @public
2560
2560
  */
2561
2561
  interface SymmetricMember {
2562
2562
  Symmetric: SymmetricEncryptionAttributes;
2563
+ Asymmetric?: never;
2563
2564
  Dukpt?: never;
2564
2565
  $unknown?: never;
2565
2566
  }
2566
2567
  /**
2567
- * <p>Parameters that are required to encrypt plaintext data using DUKPT.</p>
2568
+ * <p>Specifies the parameters required to encrypt data using an asymmetric key pair. You must specify a <code>PaddingType</code>.</p>
2569
+ * @public
2570
+ */
2571
+ interface AsymmetricMember {
2572
+ Symmetric?: never;
2573
+ Asymmetric: AsymmetricEncryptionAttributes;
2574
+ Dukpt?: never;
2575
+ $unknown?: never;
2576
+ }
2577
+ /**
2578
+ * <p>Specifies the parameters required to encrypt data using DUKPT.</p>
2568
2579
  * @public
2569
2580
  */
2570
2581
  interface DukptMember {
2571
2582
  Symmetric?: never;
2583
+ Asymmetric?: never;
2572
2584
  Dukpt: DukptEncryptionAttributes;
2573
2585
  $unknown?: never;
2574
2586
  }
@@ -2577,6 +2589,7 @@ export declare namespace ReEncryptionAttributes {
2577
2589
  */
2578
2590
  interface $UnknownMember {
2579
2591
  Symmetric?: never;
2592
+ Asymmetric?: never;
2580
2593
  Dukpt?: never;
2581
2594
  $unknown: [string, any];
2582
2595
  }
@@ -2586,6 +2599,7 @@ export declare namespace ReEncryptionAttributes {
2586
2599
  */
2587
2600
  interface Visitor<T> {
2588
2601
  Symmetric: (value: SymmetricEncryptionAttributes) => T;
2602
+ Asymmetric: (value: AsymmetricEncryptionAttributes) => T;
2589
2603
  Dukpt: (value: DukptEncryptionAttributes) => T;
2590
2604
  _: (name: string, value: any) => T;
2591
2605
  }
@@ -1,4 +1,7 @@
1
- import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
1
+ import {
2
+ HttpHandlerOptions as __HttpHandlerOptions,
3
+ MetricsRecorder as __MetricsRecorder,
4
+ } from "@smithy/types";
2
5
  import { DecryptDataCommandInput, DecryptDataCommandOutput } from "./commands/DecryptDataCommand";
3
6
  import { EncryptDataCommandInput, EncryptDataCommandOutput } from "./commands/EncryptDataCommand";
4
7
  import {
@@ -48,10 +51,13 @@ import {
48
51
  VerifyPinDataCommandOutput,
49
52
  } from "./commands/VerifyPinDataCommand";
50
53
  import { PaymentCryptographyDataClient } from "./PaymentCryptographyDataClient";
54
+ export interface PaymentCryptographyDataRequestOptions extends __HttpHandlerOptions {
55
+ metricsRecorder?: __MetricsRecorder<unknown>;
56
+ }
51
57
  export interface PaymentCryptographyData {
52
58
  decryptData(
53
59
  args: DecryptDataCommandInput,
54
- options?: __HttpHandlerOptions,
60
+ options?: PaymentCryptographyDataRequestOptions,
55
61
  ): Promise<DecryptDataCommandOutput>;
56
62
  decryptData(
57
63
  args: DecryptDataCommandInput,
@@ -59,12 +65,12 @@ export interface PaymentCryptographyData {
59
65
  ): void;
60
66
  decryptData(
61
67
  args: DecryptDataCommandInput,
62
- options: __HttpHandlerOptions,
68
+ options: PaymentCryptographyDataRequestOptions,
63
69
  cb: (err: any, data?: DecryptDataCommandOutput) => void,
64
70
  ): void;
65
71
  encryptData(
66
72
  args: EncryptDataCommandInput,
67
- options?: __HttpHandlerOptions,
73
+ options?: PaymentCryptographyDataRequestOptions,
68
74
  ): Promise<EncryptDataCommandOutput>;
69
75
  encryptData(
70
76
  args: EncryptDataCommandInput,
@@ -72,12 +78,12 @@ export interface PaymentCryptographyData {
72
78
  ): void;
73
79
  encryptData(
74
80
  args: EncryptDataCommandInput,
75
- options: __HttpHandlerOptions,
81
+ options: PaymentCryptographyDataRequestOptions,
76
82
  cb: (err: any, data?: EncryptDataCommandOutput) => void,
77
83
  ): void;
78
84
  generateAs2805KekValidation(
79
85
  args: GenerateAs2805KekValidationCommandInput,
80
- options?: __HttpHandlerOptions,
86
+ options?: PaymentCryptographyDataRequestOptions,
81
87
  ): Promise<GenerateAs2805KekValidationCommandOutput>;
82
88
  generateAs2805KekValidation(
83
89
  args: GenerateAs2805KekValidationCommandInput,
@@ -85,12 +91,12 @@ export interface PaymentCryptographyData {
85
91
  ): void;
86
92
  generateAs2805KekValidation(
87
93
  args: GenerateAs2805KekValidationCommandInput,
88
- options: __HttpHandlerOptions,
94
+ options: PaymentCryptographyDataRequestOptions,
89
95
  cb: (err: any, data?: GenerateAs2805KekValidationCommandOutput) => void,
90
96
  ): void;
91
97
  generateAuthRequestCryptogram(
92
98
  args: GenerateAuthRequestCryptogramCommandInput,
93
- options?: __HttpHandlerOptions,
99
+ options?: PaymentCryptographyDataRequestOptions,
94
100
  ): Promise<GenerateAuthRequestCryptogramCommandOutput>;
95
101
  generateAuthRequestCryptogram(
96
102
  args: GenerateAuthRequestCryptogramCommandInput,
@@ -98,12 +104,12 @@ export interface PaymentCryptographyData {
98
104
  ): void;
99
105
  generateAuthRequestCryptogram(
100
106
  args: GenerateAuthRequestCryptogramCommandInput,
101
- options: __HttpHandlerOptions,
107
+ options: PaymentCryptographyDataRequestOptions,
102
108
  cb: (err: any, data?: GenerateAuthRequestCryptogramCommandOutput) => void,
103
109
  ): void;
104
110
  generateCardValidationData(
105
111
  args: GenerateCardValidationDataCommandInput,
106
- options?: __HttpHandlerOptions,
112
+ options?: PaymentCryptographyDataRequestOptions,
107
113
  ): Promise<GenerateCardValidationDataCommandOutput>;
108
114
  generateCardValidationData(
109
115
  args: GenerateCardValidationDataCommandInput,
@@ -111,12 +117,12 @@ export interface PaymentCryptographyData {
111
117
  ): void;
112
118
  generateCardValidationData(
113
119
  args: GenerateCardValidationDataCommandInput,
114
- options: __HttpHandlerOptions,
120
+ options: PaymentCryptographyDataRequestOptions,
115
121
  cb: (err: any, data?: GenerateCardValidationDataCommandOutput) => void,
116
122
  ): void;
117
123
  generateMac(
118
124
  args: GenerateMacCommandInput,
119
- options?: __HttpHandlerOptions,
125
+ options?: PaymentCryptographyDataRequestOptions,
120
126
  ): Promise<GenerateMacCommandOutput>;
121
127
  generateMac(
122
128
  args: GenerateMacCommandInput,
@@ -124,12 +130,12 @@ export interface PaymentCryptographyData {
124
130
  ): void;
125
131
  generateMac(
126
132
  args: GenerateMacCommandInput,
127
- options: __HttpHandlerOptions,
133
+ options: PaymentCryptographyDataRequestOptions,
128
134
  cb: (err: any, data?: GenerateMacCommandOutput) => void,
129
135
  ): void;
130
136
  generateMacEmvPinChange(
131
137
  args: GenerateMacEmvPinChangeCommandInput,
132
- options?: __HttpHandlerOptions,
138
+ options?: PaymentCryptographyDataRequestOptions,
133
139
  ): Promise<GenerateMacEmvPinChangeCommandOutput>;
134
140
  generateMacEmvPinChange(
135
141
  args: GenerateMacEmvPinChangeCommandInput,
@@ -137,12 +143,12 @@ export interface PaymentCryptographyData {
137
143
  ): void;
138
144
  generateMacEmvPinChange(
139
145
  args: GenerateMacEmvPinChangeCommandInput,
140
- options: __HttpHandlerOptions,
146
+ options: PaymentCryptographyDataRequestOptions,
141
147
  cb: (err: any, data?: GenerateMacEmvPinChangeCommandOutput) => void,
142
148
  ): void;
143
149
  generatePinData(
144
150
  args: GeneratePinDataCommandInput,
145
- options?: __HttpHandlerOptions,
151
+ options?: PaymentCryptographyDataRequestOptions,
146
152
  ): Promise<GeneratePinDataCommandOutput>;
147
153
  generatePinData(
148
154
  args: GeneratePinDataCommandInput,
@@ -150,12 +156,12 @@ export interface PaymentCryptographyData {
150
156
  ): void;
151
157
  generatePinData(
152
158
  args: GeneratePinDataCommandInput,
153
- options: __HttpHandlerOptions,
159
+ options: PaymentCryptographyDataRequestOptions,
154
160
  cb: (err: any, data?: GeneratePinDataCommandOutput) => void,
155
161
  ): void;
156
162
  reEncryptData(
157
163
  args: ReEncryptDataCommandInput,
158
- options?: __HttpHandlerOptions,
164
+ options?: PaymentCryptographyDataRequestOptions,
159
165
  ): Promise<ReEncryptDataCommandOutput>;
160
166
  reEncryptData(
161
167
  args: ReEncryptDataCommandInput,
@@ -163,12 +169,12 @@ export interface PaymentCryptographyData {
163
169
  ): void;
164
170
  reEncryptData(
165
171
  args: ReEncryptDataCommandInput,
166
- options: __HttpHandlerOptions,
172
+ options: PaymentCryptographyDataRequestOptions,
167
173
  cb: (err: any, data?: ReEncryptDataCommandOutput) => void,
168
174
  ): void;
169
175
  translateKeyMaterial(
170
176
  args: TranslateKeyMaterialCommandInput,
171
- options?: __HttpHandlerOptions,
177
+ options?: PaymentCryptographyDataRequestOptions,
172
178
  ): Promise<TranslateKeyMaterialCommandOutput>;
173
179
  translateKeyMaterial(
174
180
  args: TranslateKeyMaterialCommandInput,
@@ -176,12 +182,12 @@ export interface PaymentCryptographyData {
176
182
  ): void;
177
183
  translateKeyMaterial(
178
184
  args: TranslateKeyMaterialCommandInput,
179
- options: __HttpHandlerOptions,
185
+ options: PaymentCryptographyDataRequestOptions,
180
186
  cb: (err: any, data?: TranslateKeyMaterialCommandOutput) => void,
181
187
  ): void;
182
188
  translatePinData(
183
189
  args: TranslatePinDataCommandInput,
184
- options?: __HttpHandlerOptions,
190
+ options?: PaymentCryptographyDataRequestOptions,
185
191
  ): Promise<TranslatePinDataCommandOutput>;
186
192
  translatePinData(
187
193
  args: TranslatePinDataCommandInput,
@@ -189,12 +195,12 @@ export interface PaymentCryptographyData {
189
195
  ): void;
190
196
  translatePinData(
191
197
  args: TranslatePinDataCommandInput,
192
- options: __HttpHandlerOptions,
198
+ options: PaymentCryptographyDataRequestOptions,
193
199
  cb: (err: any, data?: TranslatePinDataCommandOutput) => void,
194
200
  ): void;
195
201
  verifyAuthRequestCryptogram(
196
202
  args: VerifyAuthRequestCryptogramCommandInput,
197
- options?: __HttpHandlerOptions,
203
+ options?: PaymentCryptographyDataRequestOptions,
198
204
  ): Promise<VerifyAuthRequestCryptogramCommandOutput>;
199
205
  verifyAuthRequestCryptogram(
200
206
  args: VerifyAuthRequestCryptogramCommandInput,
@@ -202,12 +208,12 @@ export interface PaymentCryptographyData {
202
208
  ): void;
203
209
  verifyAuthRequestCryptogram(
204
210
  args: VerifyAuthRequestCryptogramCommandInput,
205
- options: __HttpHandlerOptions,
211
+ options: PaymentCryptographyDataRequestOptions,
206
212
  cb: (err: any, data?: VerifyAuthRequestCryptogramCommandOutput) => void,
207
213
  ): void;
208
214
  verifyCardValidationData(
209
215
  args: VerifyCardValidationDataCommandInput,
210
- options?: __HttpHandlerOptions,
216
+ options?: PaymentCryptographyDataRequestOptions,
211
217
  ): Promise<VerifyCardValidationDataCommandOutput>;
212
218
  verifyCardValidationData(
213
219
  args: VerifyCardValidationDataCommandInput,
@@ -215,12 +221,12 @@ export interface PaymentCryptographyData {
215
221
  ): void;
216
222
  verifyCardValidationData(
217
223
  args: VerifyCardValidationDataCommandInput,
218
- options: __HttpHandlerOptions,
224
+ options: PaymentCryptographyDataRequestOptions,
219
225
  cb: (err: any, data?: VerifyCardValidationDataCommandOutput) => void,
220
226
  ): void;
221
227
  verifyMac(
222
228
  args: VerifyMacCommandInput,
223
- options?: __HttpHandlerOptions,
229
+ options?: PaymentCryptographyDataRequestOptions,
224
230
  ): Promise<VerifyMacCommandOutput>;
225
231
  verifyMac(
226
232
  args: VerifyMacCommandInput,
@@ -228,12 +234,12 @@ export interface PaymentCryptographyData {
228
234
  ): void;
229
235
  verifyMac(
230
236
  args: VerifyMacCommandInput,
231
- options: __HttpHandlerOptions,
237
+ options: PaymentCryptographyDataRequestOptions,
232
238
  cb: (err: any, data?: VerifyMacCommandOutput) => void,
233
239
  ): void;
234
240
  verifyPinData(
235
241
  args: VerifyPinDataCommandInput,
236
- options?: __HttpHandlerOptions,
242
+ options?: PaymentCryptographyDataRequestOptions,
237
243
  ): Promise<VerifyPinDataCommandOutput>;
238
244
  verifyPinData(
239
245
  args: VerifyPinDataCommandInput,
@@ -241,7 +247,7 @@ export interface PaymentCryptographyData {
241
247
  ): void;
242
248
  verifyPinData(
243
249
  args: VerifyPinDataCommandInput,
244
- options: __HttpHandlerOptions,
250
+ options: PaymentCryptographyDataRequestOptions,
245
251
  cb: (err: any, data?: VerifyPinDataCommandOutput) => void,
246
252
  ): void;
247
253
  }
@@ -1111,27 +1111,38 @@ export declare namespace OutgoingKeyMaterial {
1111
1111
  }
1112
1112
  }
1113
1113
  export type ReEncryptionAttributes =
1114
+ | ReEncryptionAttributes.AsymmetricMember
1114
1115
  | ReEncryptionAttributes.DukptMember
1115
1116
  | ReEncryptionAttributes.SymmetricMember
1116
1117
  | ReEncryptionAttributes.$UnknownMember;
1117
1118
  export declare namespace ReEncryptionAttributes {
1118
1119
  interface SymmetricMember {
1119
1120
  Symmetric: SymmetricEncryptionAttributes;
1121
+ Asymmetric?: never;
1122
+ Dukpt?: never;
1123
+ $unknown?: never;
1124
+ }
1125
+ interface AsymmetricMember {
1126
+ Symmetric?: never;
1127
+ Asymmetric: AsymmetricEncryptionAttributes;
1120
1128
  Dukpt?: never;
1121
1129
  $unknown?: never;
1122
1130
  }
1123
1131
  interface DukptMember {
1124
1132
  Symmetric?: never;
1133
+ Asymmetric?: never;
1125
1134
  Dukpt: DukptEncryptionAttributes;
1126
1135
  $unknown?: never;
1127
1136
  }
1128
1137
  interface $UnknownMember {
1129
1138
  Symmetric?: never;
1139
+ Asymmetric?: never;
1130
1140
  Dukpt?: never;
1131
1141
  $unknown: [string, any];
1132
1142
  }
1133
1143
  interface Visitor<T> {
1134
1144
  Symmetric: (value: SymmetricEncryptionAttributes) => T;
1145
+ Asymmetric: (value: AsymmetricEncryptionAttributes) => T;
1135
1146
  Dukpt: (value: DukptEncryptionAttributes) => T;
1136
1147
  _: (name: string, value: any) => T;
1137
1148
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-payment-cryptography-data",
3
- "version": "3.1137.0",
3
+ "version": "3.1139.0",
4
4
  "description": "AWS SDK for JavaScript Payment Cryptography Data Client for Node.js, Browser and React Native",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-payment-cryptography-data",
6
6
  "license": "Apache-2.0",
@@ -46,13 +46,13 @@
46
46
  "test:index": "tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs"
47
47
  },
48
48
  "dependencies": {
49
- "@aws-sdk/core": "^3.978.0",
50
- "@aws-sdk/credential-provider-node": "^3.972.83",
51
- "@aws-sdk/types": "^3.974.5",
52
- "@smithy/core": "^3.33.3",
53
- "@smithy/fetch-http-handler": "^5.7.2",
54
- "@smithy/node-http-handler": "^4.11.3",
55
- "@smithy/types": "^4.17.2",
49
+ "@aws-sdk/core": "^3.978.1",
50
+ "@aws-sdk/credential-provider-node": "^3.972.84",
51
+ "@aws-sdk/types": "^3.974.6",
52
+ "@smithy/core": "^3.35.0",
53
+ "@smithy/fetch-http-handler": "^5.8.0",
54
+ "@smithy/node-http-handler": "^4.12.1",
55
+ "@smithy/types": "^4.19.0",
56
56
  "tslib": "^2.6.2"
57
57
  },
58
58
  "devDependencies": {