@aws-sdk/client-payment-cryptography-data 3.952.0 → 3.954.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +8 -0
  2. package/dist-cjs/index.js +483 -269
  3. package/dist-cjs/runtimeConfig.shared.js +6 -1
  4. package/dist-es/PaymentCryptographyData.js +2 -0
  5. package/dist-es/commands/DecryptDataCommand.js +2 -2
  6. package/dist-es/commands/EncryptDataCommand.js +2 -2
  7. package/dist-es/commands/GenerateAs2805KekValidationCommand.js +16 -0
  8. package/dist-es/commands/GenerateCardValidationDataCommand.js +2 -2
  9. package/dist-es/commands/GenerateMacCommand.js +2 -2
  10. package/dist-es/commands/GenerateMacEmvPinChangeCommand.js +2 -2
  11. package/dist-es/commands/GeneratePinDataCommand.js +2 -2
  12. package/dist-es/commands/ReEncryptDataCommand.js +2 -2
  13. package/dist-es/commands/TranslateKeyMaterialCommand.js +2 -2
  14. package/dist-es/commands/TranslatePinDataCommand.js +2 -2
  15. package/dist-es/commands/VerifyAuthRequestCryptogramCommand.js +2 -2
  16. package/dist-es/commands/VerifyCardValidationDataCommand.js +2 -2
  17. package/dist-es/commands/VerifyMacCommand.js +2 -2
  18. package/dist-es/commands/VerifyPinDataCommand.js +2 -2
  19. package/dist-es/commands/index.js +1 -0
  20. package/dist-es/index.js +1 -0
  21. package/dist-es/models/enums.js +16 -11
  22. package/dist-es/runtimeConfig.shared.js +6 -1
  23. package/dist-es/schemas/schemas_0.js +332 -255
  24. package/dist-types/PaymentCryptographyData.d.ts +7 -0
  25. package/dist-types/PaymentCryptographyDataClient.d.ts +4 -12
  26. package/dist-types/commands/GenerateAs2805KekValidationCommand.d.ts +101 -0
  27. package/dist-types/commands/GenerateMacCommand.d.ts +2 -2
  28. package/dist-types/commands/TranslateKeyMaterialCommand.d.ts +1 -1
  29. package/dist-types/commands/TranslatePinDataCommand.d.ts +10 -0
  30. package/dist-types/commands/VerifyMacCommand.d.ts +1 -1
  31. package/dist-types/commands/index.d.ts +1 -0
  32. package/dist-types/index.d.ts +1 -0
  33. package/dist-types/models/enums.d.ts +32 -19
  34. package/dist-types/models/models_0.d.ts +172 -10
  35. package/dist-types/runtimeConfig.browser.d.ts +6 -2
  36. package/dist-types/runtimeConfig.d.ts +6 -2
  37. package/dist-types/runtimeConfig.native.d.ts +6 -2
  38. package/dist-types/runtimeConfig.shared.d.ts +6 -1
  39. package/dist-types/schemas/schemas_0.d.ts +118 -140
  40. package/dist-types/ts3.4/PaymentCryptographyData.d.ts +17 -0
  41. package/dist-types/ts3.4/PaymentCryptographyDataClient.d.ts +6 -4
  42. package/dist-types/ts3.4/commands/GenerateAs2805KekValidationCommand.d.ts +51 -0
  43. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  44. package/dist-types/ts3.4/index.d.ts +1 -0
  45. package/dist-types/ts3.4/models/enums.d.ts +20 -13
  46. package/dist-types/ts3.4/models/models_0.d.ts +67 -0
  47. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -5
  48. package/dist-types/ts3.4/runtimeConfig.d.ts +9 -5
  49. package/dist-types/ts3.4/runtimeConfig.native.d.ts +9 -5
  50. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +9 -4
  51. package/dist-types/ts3.4/schemas/schemas_0.d.ts +117 -141
  52. package/package.json +34 -34
@@ -1,6 +1,7 @@
1
1
  import type { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
2
2
  import { DecryptDataCommandInput, DecryptDataCommandOutput } from "./commands/DecryptDataCommand";
3
3
  import { EncryptDataCommandInput, EncryptDataCommandOutput } from "./commands/EncryptDataCommand";
4
+ import { GenerateAs2805KekValidationCommandInput, GenerateAs2805KekValidationCommandOutput } from "./commands/GenerateAs2805KekValidationCommand";
4
5
  import { GenerateCardValidationDataCommandInput, GenerateCardValidationDataCommandOutput } from "./commands/GenerateCardValidationDataCommand";
5
6
  import { GenerateMacCommandInput, GenerateMacCommandOutput } from "./commands/GenerateMacCommand";
6
7
  import { GenerateMacEmvPinChangeCommandInput, GenerateMacEmvPinChangeCommandOutput } from "./commands/GenerateMacEmvPinChangeCommand";
@@ -26,6 +27,12 @@ export interface PaymentCryptographyData {
26
27
  encryptData(args: EncryptDataCommandInput, options?: __HttpHandlerOptions): Promise<EncryptDataCommandOutput>;
27
28
  encryptData(args: EncryptDataCommandInput, cb: (err: any, data?: EncryptDataCommandOutput) => void): void;
28
29
  encryptData(args: EncryptDataCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: EncryptDataCommandOutput) => void): void;
30
+ /**
31
+ * @see {@link GenerateAs2805KekValidationCommand}
32
+ */
33
+ generateAs2805KekValidation(args: GenerateAs2805KekValidationCommandInput, options?: __HttpHandlerOptions): Promise<GenerateAs2805KekValidationCommandOutput>;
34
+ generateAs2805KekValidation(args: GenerateAs2805KekValidationCommandInput, cb: (err: any, data?: GenerateAs2805KekValidationCommandOutput) => void): void;
35
+ generateAs2805KekValidation(args: GenerateAs2805KekValidationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GenerateAs2805KekValidationCommandOutput) => void): void;
29
36
  /**
30
37
  * @see {@link GenerateCardValidationDataCommand}
31
38
  */
@@ -5,10 +5,11 @@ import { type EndpointInputConfig, type EndpointResolvedConfig } from "@smithy/m
5
5
  import { type RetryInputConfig, type RetryResolvedConfig } from "@smithy/middleware-retry";
6
6
  import type { HttpHandlerUserInput as __HttpHandlerUserInput } from "@smithy/protocol-http";
7
7
  import { type DefaultsMode as __DefaultsMode, type SmithyConfiguration as __SmithyConfiguration, type SmithyResolvedConfiguration as __SmithyResolvedConfiguration, Client as __Client } from "@smithy/smithy-client";
8
- import { type BodyLengthCalculator as __BodyLengthCalculator, type CheckOptionalClientConfig as __CheckOptionalClientConfig, type ChecksumConstructor as __ChecksumConstructor, type ClientProtocol, type Decoder as __Decoder, type Encoder as __Encoder, type HashConstructor as __HashConstructor, type HttpHandlerOptions as __HttpHandlerOptions, type HttpRequest, type HttpResponse, type Logger as __Logger, type Provider as __Provider, type StreamCollector as __StreamCollector, type UrlParser as __UrlParser, AwsCredentialIdentityProvider, Provider, UserAgent as __UserAgent } from "@smithy/types";
8
+ import { type BodyLengthCalculator as __BodyLengthCalculator, type CheckOptionalClientConfig as __CheckOptionalClientConfig, type ChecksumConstructor as __ChecksumConstructor, type Decoder as __Decoder, type Encoder as __Encoder, type HashConstructor as __HashConstructor, type HttpHandlerOptions as __HttpHandlerOptions, type Logger as __Logger, type Provider as __Provider, type StreamCollector as __StreamCollector, type UrlParser as __UrlParser, AwsCredentialIdentityProvider, Provider, UserAgent as __UserAgent } from "@smithy/types";
9
9
  import { type HttpAuthSchemeInputConfig, type HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider";
10
10
  import { DecryptDataCommandInput, DecryptDataCommandOutput } from "./commands/DecryptDataCommand";
11
11
  import { EncryptDataCommandInput, EncryptDataCommandOutput } from "./commands/EncryptDataCommand";
12
+ import { GenerateAs2805KekValidationCommandInput, GenerateAs2805KekValidationCommandOutput } from "./commands/GenerateAs2805KekValidationCommand";
12
13
  import { GenerateCardValidationDataCommandInput, GenerateCardValidationDataCommandOutput } from "./commands/GenerateCardValidationDataCommand";
13
14
  import { GenerateMacCommandInput, GenerateMacCommandOutput } from "./commands/GenerateMacCommand";
14
15
  import { GenerateMacEmvPinChangeCommandInput, GenerateMacEmvPinChangeCommandOutput } from "./commands/GenerateMacEmvPinChangeCommand";
@@ -26,11 +27,11 @@ export { __Client };
26
27
  /**
27
28
  * @public
28
29
  */
29
- export type ServiceInputTypes = DecryptDataCommandInput | EncryptDataCommandInput | GenerateCardValidationDataCommandInput | GenerateMacCommandInput | GenerateMacEmvPinChangeCommandInput | GeneratePinDataCommandInput | ReEncryptDataCommandInput | TranslateKeyMaterialCommandInput | TranslatePinDataCommandInput | VerifyAuthRequestCryptogramCommandInput | VerifyCardValidationDataCommandInput | VerifyMacCommandInput | VerifyPinDataCommandInput;
30
+ export type ServiceInputTypes = DecryptDataCommandInput | EncryptDataCommandInput | GenerateAs2805KekValidationCommandInput | GenerateCardValidationDataCommandInput | GenerateMacCommandInput | GenerateMacEmvPinChangeCommandInput | GeneratePinDataCommandInput | ReEncryptDataCommandInput | TranslateKeyMaterialCommandInput | TranslatePinDataCommandInput | VerifyAuthRequestCryptogramCommandInput | VerifyCardValidationDataCommandInput | VerifyMacCommandInput | VerifyPinDataCommandInput;
30
31
  /**
31
32
  * @public
32
33
  */
33
- export type ServiceOutputTypes = DecryptDataCommandOutput | EncryptDataCommandOutput | GenerateCardValidationDataCommandOutput | GenerateMacCommandOutput | GenerateMacEmvPinChangeCommandOutput | GeneratePinDataCommandOutput | ReEncryptDataCommandOutput | TranslateKeyMaterialCommandOutput | TranslatePinDataCommandOutput | VerifyAuthRequestCryptogramCommandOutput | VerifyCardValidationDataCommandOutput | VerifyMacCommandOutput | VerifyPinDataCommandOutput;
34
+ export type ServiceOutputTypes = DecryptDataCommandOutput | EncryptDataCommandOutput | GenerateAs2805KekValidationCommandOutput | GenerateCardValidationDataCommandOutput | GenerateMacCommandOutput | GenerateMacEmvPinChangeCommandOutput | GeneratePinDataCommandOutput | ReEncryptDataCommandOutput | TranslateKeyMaterialCommandOutput | TranslatePinDataCommandOutput | VerifyAuthRequestCryptogramCommandOutput | VerifyCardValidationDataCommandOutput | VerifyMacCommandOutput | VerifyPinDataCommandOutput;
34
35
  /**
35
36
  * @public
36
37
  */
@@ -154,15 +155,6 @@ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHand
154
155
  * Optional extensions
155
156
  */
156
157
  extensions?: RuntimeExtension[];
157
- /**
158
- * The protocol controlling the message type (e.g. HTTP) and format (e.g. JSON)
159
- * may be overridden. A default will always be set by the client.
160
- * Available options depend on the service's supported protocols and will not be validated by
161
- * the client.
162
- * @alpha
163
- *
164
- */
165
- protocol?: ClientProtocol<HttpRequest, HttpResponse>;
166
158
  /**
167
159
  * The {@link @smithy/smithy-client#DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
168
160
  */
@@ -0,0 +1,101 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { GenerateAs2805KekValidationInput, GenerateAs2805KekValidationOutput } from "../models/models_0";
4
+ import type { PaymentCryptographyDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../PaymentCryptographyDataClient";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link GenerateAs2805KekValidationCommand}.
14
+ */
15
+ export interface GenerateAs2805KekValidationCommandInput extends GenerateAs2805KekValidationInput {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link GenerateAs2805KekValidationCommand}.
21
+ */
22
+ export interface GenerateAs2805KekValidationCommandOutput extends GenerateAs2805KekValidationOutput, __MetadataBearer {
23
+ }
24
+ declare const GenerateAs2805KekValidationCommand_base: {
25
+ new (input: GenerateAs2805KekValidationCommandInput): import("@smithy/smithy-client").CommandImpl<GenerateAs2805KekValidationCommandInput, GenerateAs2805KekValidationCommandOutput, PaymentCryptographyDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: GenerateAs2805KekValidationCommandInput): import("@smithy/smithy-client").CommandImpl<GenerateAs2805KekValidationCommandInput, GenerateAs2805KekValidationCommandOutput, PaymentCryptographyDataClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Establishes node-to-node initialization between payment processing nodes such as an acquirer, issuer or payment network using Australian Standard 2805 (AS2805).</p> <p>During node-to-node initialization, both communicating nodes must validate that they possess the correct Key Encrypting Keys (KEKs) before proceeding with session key exchange. In AS2805, the sending KEK (KEKs) of one node corresponds to the receiving KEK (KEKr) of its partner node. Each node uses its KEK to encrypt and decrypt session keys exchanged between the nodes. A KEK can be created or imported into Amazon Web Services Payment Cryptography using either the <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html">CreateKey</a> or <a href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html">ImportKey</a> operations.</p> <p>The node initiating communication can use <code>GenerateAS2805KekValidation</code> to generate a combined KEK validation request and KEK validation response to send to the partnering node for validation. When invoked, the API internally generates a random sending key encrypted under KEKs and provides a receiving key encrypted under KEKr as response. The initiating node sends the response returned by this API to its partner for validation.</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>
31
+ * @example
32
+ * Use a bare-bones client and the command you need to make an API call.
33
+ * ```javascript
34
+ * import { PaymentCryptographyDataClient, GenerateAs2805KekValidationCommand } from "@aws-sdk/client-payment-cryptography-data"; // ES Modules import
35
+ * // const { PaymentCryptographyDataClient, GenerateAs2805KekValidationCommand } = require("@aws-sdk/client-payment-cryptography-data"); // CommonJS import
36
+ * // import type { PaymentCryptographyDataClientConfig } from "@aws-sdk/client-payment-cryptography-data";
37
+ * const config = {}; // type is PaymentCryptographyDataClientConfig
38
+ * const client = new PaymentCryptographyDataClient(config);
39
+ * const input = { // GenerateAs2805KekValidationInput
40
+ * KeyIdentifier: "STRING_VALUE", // required
41
+ * KekValidationType: { // As2805KekValidationType Union: only one key present
42
+ * KekValidationRequest: { // KekValidationRequest
43
+ * DeriveKeyAlgorithm: "TDES_2KEY" || "TDES_3KEY" || "AES_128" || "AES_192" || "AES_256" || "HMAC_SHA256" || "HMAC_SHA384" || "HMAC_SHA512" || "HMAC_SHA224", // required
44
+ * },
45
+ * KekValidationResponse: { // KekValidationResponse
46
+ * RandomKeySend: "STRING_VALUE", // required
47
+ * },
48
+ * },
49
+ * RandomKeySendVariantMask: "VARIANT_MASK_82C0" || "VARIANT_MASK_82", // required
50
+ * };
51
+ * const command = new GenerateAs2805KekValidationCommand(input);
52
+ * const response = await client.send(command);
53
+ * // { // GenerateAs2805KekValidationOutput
54
+ * // KeyArn: "STRING_VALUE", // required
55
+ * // KeyCheckValue: "STRING_VALUE", // required
56
+ * // RandomKeySend: "STRING_VALUE", // required
57
+ * // RandomKeyReceive: "STRING_VALUE", // required
58
+ * // };
59
+ *
60
+ * ```
61
+ *
62
+ * @param GenerateAs2805KekValidationCommandInput - {@link GenerateAs2805KekValidationCommandInput}
63
+ * @returns {@link GenerateAs2805KekValidationCommandOutput}
64
+ * @see {@link GenerateAs2805KekValidationCommandInput} for command's `input` shape.
65
+ * @see {@link GenerateAs2805KekValidationCommandOutput} for command's `response` shape.
66
+ * @see {@link PaymentCryptographyDataClientResolvedConfig | config} for PaymentCryptographyDataClient's `config` shape.
67
+ *
68
+ * @throws {@link AccessDeniedException} (client fault)
69
+ * <p>You do not have sufficient access to perform this action.</p>
70
+ *
71
+ * @throws {@link InternalServerException} (server fault)
72
+ * <p>The request processing has failed because of an unknown error, exception, or failure.</p>
73
+ *
74
+ * @throws {@link ResourceNotFoundException} (client fault)
75
+ * <p>The request was denied due to an invalid resource error.</p>
76
+ *
77
+ * @throws {@link ThrottlingException} (client fault)
78
+ * <p>The request was denied due to request throttling.</p>
79
+ *
80
+ * @throws {@link ValidationException} (client fault)
81
+ * <p>The request was denied due to an invalid request error.</p>
82
+ *
83
+ * @throws {@link PaymentCryptographyDataServiceException}
84
+ * <p>Base exception class for all service exceptions from PaymentCryptographyData service.</p>
85
+ *
86
+ *
87
+ * @public
88
+ */
89
+ export declare class GenerateAs2805KekValidationCommand extends GenerateAs2805KekValidationCommand_base {
90
+ /** @internal type navigation helper, not in runtime. */
91
+ protected static __types: {
92
+ api: {
93
+ input: GenerateAs2805KekValidationInput;
94
+ output: GenerateAs2805KekValidationOutput;
95
+ };
96
+ sdk: {
97
+ input: GenerateAs2805KekValidationCommandInput;
98
+ output: GenerateAs2805KekValidationCommandOutput;
99
+ };
100
+ };
101
+ }
@@ -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 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>
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>.</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
@@ -40,7 +40,7 @@ declare const GenerateMacCommand_base: {
40
40
  * KeyIdentifier: "STRING_VALUE", // required
41
41
  * MessageData: "STRING_VALUE", // required
42
42
  * GenerationAttributes: { // MacAttributes Union: only one key present
43
- * Algorithm: "ISO9797_ALGORITHM1" || "ISO9797_ALGORITHM3" || "CMAC" || "HMAC" || "HMAC_SHA224" || "HMAC_SHA256" || "HMAC_SHA384" || "HMAC_SHA512",
43
+ * Algorithm: "ISO9797_ALGORITHM1" || "ISO9797_ALGORITHM3" || "CMAC" || "HMAC" || "HMAC_SHA224" || "HMAC_SHA256" || "HMAC_SHA384" || "HMAC_SHA512" || "AS2805_4_1",
44
44
  * EmvMac: { // MacAlgorithmEmv
45
45
  * MajorKeyDerivationMode: "EMV_OPTION_A" || "EMV_OPTION_B", // required
46
46
  * PrimaryAccountNumber: "STRING_VALUE", // required
@@ -27,7 +27,7 @@ declare const TranslateKeyMaterialCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Translates an encryption key between different wrapping keys without importing the key into Amazon Web Services Payment Cryptography.</p> <p>This operation can be used when key material is frequently rotated, such as during every card transaction, and there is a need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. It translates short-lived transaction keys such as Pin Encryption Key (PEK) generated for each transaction and wrapped with an ECDH (Elliptic Curve Diffie-Hellman) derived wrapping key to another KEK (Key Encryption Key) wrapping key. </p> <p>Before using this operation, you must first request the public key certificate of the ECC key pair generated within Amazon Web Services Payment Cryptography to establish an ECDH key agreement. In <code>TranslateKeyData</code>, the service uses its own ECC key pair, public certificate of receiving ECC key pair, and the key derivation parameters to generate a derived key. The service uses this derived key to unwrap the incoming transaction key received as a TR31WrappedKeyBlock and re-wrap using a user provided KEK to generate an outgoing Tr31WrappedKeyBlock. For more information on establishing ECDH derived keys, see the <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html">Creating keys</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</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 href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html">CreateKey</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>
30
+ * <p>Translates an cryptographic key between different wrapping keys without importing the key into Amazon Web Services Payment Cryptography.</p> <p>This operation can be used when key material is frequently rotated, such as during every card transaction, and there is a need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. It translates short-lived transaction keys such as <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.pek">PEK</a> generated for each transaction and wrapped with an <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.ecdh">ECDH</a> derived wrapping key to another <a href="https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.kek">KEK</a> wrapping key. </p> <p>Before using this operation, you must first request the public key certificate of the ECC key pair generated within Amazon Web Services Payment Cryptography to establish an ECDH key agreement. In <code>TranslateKeyData</code>, the service uses its own ECC key pair, public certificate of receiving ECC key pair, and the key derivation parameters to generate a derived key. The service uses this derived key to unwrap the incoming transaction key received as a TR31WrappedKeyBlock and re-wrap using a user provided KEK to generate an outgoing Tr31WrappedKeyBlock.</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 href="https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html">CreateKey</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>
31
31
  * @example
32
32
  * Use a bare-bones client and the command you need to make an API call.
33
33
  * ```javascript
@@ -50,6 +50,9 @@ declare const TranslatePinDataCommand_base: {
50
50
  * IsoFormat4: {
51
51
  * PrimaryAccountNumber: "STRING_VALUE", // required
52
52
  * },
53
+ * As2805Format0: { // TranslationPinDataAs2805Format0
54
+ * PrimaryAccountNumber: "STRING_VALUE", // required
55
+ * },
53
56
  * },
54
57
  * OutgoingTranslationAttributes: {// Union: only one key present
55
58
  * IsoFormat0: {
@@ -60,6 +63,9 @@ declare const TranslatePinDataCommand_base: {
60
63
  * PrimaryAccountNumber: "STRING_VALUE", // required
61
64
  * },
62
65
  * IsoFormat4: "<TranslationPinDataIsoFormat034>",
66
+ * As2805Format0: {
67
+ * PrimaryAccountNumber: "STRING_VALUE", // required
68
+ * },
63
69
  * },
64
70
  * EncryptedPinBlock: "STRING_VALUE", // required
65
71
  * IncomingDukptAttributes: { // DukptDerivationAttributes
@@ -100,6 +106,10 @@ declare const TranslatePinDataCommand_base: {
100
106
  * },
101
107
  * KeyCheckValueAlgorithm: "STRING_VALUE",
102
108
  * },
109
+ * IncomingAs2805Attributes: { // As2805PekDerivationAttributes
110
+ * SystemTraceAuditNumber: "STRING_VALUE", // required
111
+ * TransactionAmount: "STRING_VALUE", // required
112
+ * },
103
113
  * };
104
114
  * const command = new TranslatePinDataCommand(input);
105
115
  * const response = await client.send(command);
@@ -41,7 +41,7 @@ declare const VerifyMacCommand_base: {
41
41
  * MessageData: "STRING_VALUE", // required
42
42
  * Mac: "STRING_VALUE", // required
43
43
  * VerificationAttributes: { // MacAttributes Union: only one key present
44
- * Algorithm: "ISO9797_ALGORITHM1" || "ISO9797_ALGORITHM3" || "CMAC" || "HMAC" || "HMAC_SHA224" || "HMAC_SHA256" || "HMAC_SHA384" || "HMAC_SHA512",
44
+ * Algorithm: "ISO9797_ALGORITHM1" || "ISO9797_ALGORITHM3" || "CMAC" || "HMAC" || "HMAC_SHA224" || "HMAC_SHA256" || "HMAC_SHA384" || "HMAC_SHA512" || "AS2805_4_1",
45
45
  * EmvMac: { // MacAlgorithmEmv
46
46
  * MajorKeyDerivationMode: "EMV_OPTION_A" || "EMV_OPTION_B", // required
47
47
  * PrimaryAccountNumber: "STRING_VALUE", // required
@@ -1,5 +1,6 @@
1
1
  export * from "./DecryptDataCommand";
2
2
  export * from "./EncryptDataCommand";
3
+ export * from "./GenerateAs2805KekValidationCommand";
3
4
  export * from "./GenerateCardValidationDataCommand";
4
5
  export * from "./GenerateMacCommand";
5
6
  export * from "./GenerateMacEmvPinChangeCommand";
@@ -9,6 +9,7 @@ export { ClientInputEndpointParameters } from "./endpoint/EndpointParameters";
9
9
  export type { RuntimeExtension } from "./runtimeExtensions";
10
10
  export type { PaymentCryptographyDataExtensionConfiguration } from "./extensionConfiguration";
11
11
  export * from "./commands";
12
+ export * from "./schemas/schemas_0";
12
13
  export * from "./models/enums";
13
14
  export * from "./models/errors";
14
15
  export type * from "./models/models_0";
@@ -10,6 +10,25 @@ export declare const MajorKeyDerivationMode: {
10
10
  * @public
11
11
  */
12
12
  export type MajorKeyDerivationMode = (typeof MajorKeyDerivationMode)[keyof typeof MajorKeyDerivationMode];
13
+ /**
14
+ * @public
15
+ * @enum
16
+ */
17
+ export declare const SymmetricKeyAlgorithm: {
18
+ readonly AES_128: "AES_128";
19
+ readonly AES_192: "AES_192";
20
+ readonly AES_256: "AES_256";
21
+ readonly HMAC_SHA224: "HMAC_SHA224";
22
+ readonly HMAC_SHA256: "HMAC_SHA256";
23
+ readonly HMAC_SHA384: "HMAC_SHA384";
24
+ readonly HMAC_SHA512: "HMAC_SHA512";
25
+ readonly TDES_2KEY: "TDES_2KEY";
26
+ readonly TDES_3KEY: "TDES_3KEY";
27
+ };
28
+ /**
29
+ * @public
30
+ */
31
+ export type SymmetricKeyAlgorithm = (typeof SymmetricKeyAlgorithm)[keyof typeof SymmetricKeyAlgorithm];
13
32
  /**
14
33
  * @public
15
34
  * @enum
@@ -120,25 +139,6 @@ export declare const KeyCheckValueAlgorithm: {
120
139
  * @public
121
140
  */
122
141
  export type KeyCheckValueAlgorithm = (typeof KeyCheckValueAlgorithm)[keyof typeof KeyCheckValueAlgorithm];
123
- /**
124
- * @public
125
- * @enum
126
- */
127
- export declare const SymmetricKeyAlgorithm: {
128
- readonly AES_128: "AES_128";
129
- readonly AES_192: "AES_192";
130
- readonly AES_256: "AES_256";
131
- readonly HMAC_SHA224: "HMAC_SHA224";
132
- readonly HMAC_SHA256: "HMAC_SHA256";
133
- readonly HMAC_SHA384: "HMAC_SHA384";
134
- readonly HMAC_SHA512: "HMAC_SHA512";
135
- readonly TDES_2KEY: "TDES_2KEY";
136
- readonly TDES_3KEY: "TDES_3KEY";
137
- };
138
- /**
139
- * @public
140
- */
141
- export type SymmetricKeyAlgorithm = (typeof SymmetricKeyAlgorithm)[keyof typeof SymmetricKeyAlgorithm];
142
142
  /**
143
143
  * @public
144
144
  * @enum
@@ -188,11 +188,24 @@ export declare const PinBlockPaddingType: {
188
188
  * @public
189
189
  */
190
190
  export type PinBlockPaddingType = (typeof PinBlockPaddingType)[keyof typeof PinBlockPaddingType];
191
+ /**
192
+ * @public
193
+ * @enum
194
+ */
195
+ export declare const RandomKeySendVariantMask: {
196
+ readonly VARIANT_MASK_82: "VARIANT_MASK_82";
197
+ readonly VARIANT_MASK_82C0: "VARIANT_MASK_82C0";
198
+ };
199
+ /**
200
+ * @public
201
+ */
202
+ export type RandomKeySendVariantMask = (typeof RandomKeySendVariantMask)[keyof typeof RandomKeySendVariantMask];
191
203
  /**
192
204
  * @public
193
205
  * @enum
194
206
  */
195
207
  export declare const MacAlgorithm: {
208
+ readonly AS2805_4_1: "AS2805_4_1";
196
209
  readonly CMAC: "CMAC";
197
210
  readonly HMAC: "HMAC";
198
211
  readonly HMAC_SHA224: "HMAC_SHA224";
@@ -1,4 +1,4 @@
1
- import { DukptDerivationType, DukptEncryptionMode, DukptKeyVariant, EmvEncryptionMode, EmvMajorKeyDerivationMode, EncryptionMode, KeyCheckValueAlgorithm, KeyDerivationFunction, KeyDerivationHashAlgorithm, MacAlgorithm, MajorKeyDerivationMode, PaddingType, PinBlockFormatForEmvPinChange, PinBlockFormatForPinData, PinBlockLengthPosition, PinBlockPaddingType, SessionKeyDerivationMode, SymmetricKeyAlgorithm, WrappedKeyMaterialFormat } from "./enums";
1
+ import { DukptDerivationType, DukptEncryptionMode, DukptKeyVariant, EmvEncryptionMode, EmvMajorKeyDerivationMode, EncryptionMode, KeyCheckValueAlgorithm, KeyDerivationFunction, KeyDerivationHashAlgorithm, MacAlgorithm, MajorKeyDerivationMode, PaddingType, PinBlockFormatForEmvPinChange, PinBlockFormatForPinData, PinBlockLengthPosition, PinBlockPaddingType, RandomKeySendVariantMask, SessionKeyDerivationMode, SymmetricKeyAlgorithm, WrappedKeyMaterialFormat } from "./enums";
2
2
  /**
3
3
  * <p>The parameter values of the current PIN to be changed on the EMV chip card.</p>
4
4
  * @public
@@ -78,6 +78,89 @@ export interface AmexCardSecurityCodeVersion2 {
78
78
  */
79
79
  ServiceCode: string | undefined;
80
80
  }
81
+ /**
82
+ * <p>Parameter information for generating a KEK validation request during node-to-node initialization.</p>
83
+ * @public
84
+ */
85
+ export interface KekValidationRequest {
86
+ /**
87
+ * <p>The key derivation algorithm to use for generating a KEK validation request.</p>
88
+ * @public
89
+ */
90
+ DeriveKeyAlgorithm: SymmetricKeyAlgorithm | undefined;
91
+ }
92
+ /**
93
+ * <p>Parameter information for generating a KEK validation response during node-to-node initialization.</p>
94
+ * @public
95
+ */
96
+ export interface KekValidationResponse {
97
+ /**
98
+ * <p>The random key for generating a KEK validation response.</p>
99
+ * @public
100
+ */
101
+ RandomKeySend: string | undefined;
102
+ }
103
+ /**
104
+ * <p>Parameter information for generating a random key for KEK validation to perform node-to-node initialization.</p>
105
+ * @public
106
+ */
107
+ export type As2805KekValidationType = As2805KekValidationType.KekValidationRequestMember | As2805KekValidationType.KekValidationResponseMember | As2805KekValidationType.$UnknownMember;
108
+ /**
109
+ * @public
110
+ */
111
+ export declare namespace As2805KekValidationType {
112
+ /**
113
+ * <p>Parameter information for generating a KEK validation request during node-to-node initialization.</p>
114
+ * @public
115
+ */
116
+ interface KekValidationRequestMember {
117
+ KekValidationRequest: KekValidationRequest;
118
+ KekValidationResponse?: never;
119
+ $unknown?: never;
120
+ }
121
+ /**
122
+ * <p>Parameter information for generating a KEK validation response during node-to-node initialization.</p>
123
+ * @public
124
+ */
125
+ interface KekValidationResponseMember {
126
+ KekValidationRequest?: never;
127
+ KekValidationResponse: KekValidationResponse;
128
+ $unknown?: never;
129
+ }
130
+ /**
131
+ * @public
132
+ */
133
+ interface $UnknownMember {
134
+ KekValidationRequest?: never;
135
+ KekValidationResponse?: never;
136
+ $unknown: [string, any];
137
+ }
138
+ /**
139
+ * @deprecated unused in schema-serde mode.
140
+ *
141
+ */
142
+ interface Visitor<T> {
143
+ KekValidationRequest: (value: KekValidationRequest) => T;
144
+ KekValidationResponse: (value: KekValidationResponse) => T;
145
+ _: (name: string, value: any) => T;
146
+ }
147
+ }
148
+ /**
149
+ * <p>Parameter information to use a PEK derived using AS2805.</p>
150
+ * @public
151
+ */
152
+ export interface As2805PekDerivationAttributes {
153
+ /**
154
+ * <p>The system trace audit number for the transaction.</p>
155
+ * @public
156
+ */
157
+ SystemTraceAuditNumber: string | undefined;
158
+ /**
159
+ * <p>The transaction amount for the transaction.</p>
160
+ * @public
161
+ */
162
+ TransactionAmount: string | undefined;
163
+ }
81
164
  /**
82
165
  * <p>Parameters for plaintext encryption using asymmetric keys.</p>
83
166
  * @public
@@ -1234,6 +1317,51 @@ export interface EncryptDataOutput {
1234
1317
  */
1235
1318
  CipherText: string | undefined;
1236
1319
  }
1320
+ /**
1321
+ * @public
1322
+ */
1323
+ export interface GenerateAs2805KekValidationInput {
1324
+ /**
1325
+ * <p>The <code>keyARN</code> of sending KEK that Amazon Web Services Payment Cryptography uses for node-to-node initialization</p>
1326
+ * @public
1327
+ */
1328
+ KeyIdentifier: string | undefined;
1329
+ /**
1330
+ * <p>Parameter information for generating a random key for KEK validation to perform node-to-node initialization.</p>
1331
+ * @public
1332
+ */
1333
+ KekValidationType: As2805KekValidationType | undefined;
1334
+ /**
1335
+ * <p>The key variant to use for generating a random key for KEK validation during node-to-node initialization.</p>
1336
+ * @public
1337
+ */
1338
+ RandomKeySendVariantMask: RandomKeySendVariantMask | undefined;
1339
+ }
1340
+ /**
1341
+ * @public
1342
+ */
1343
+ export interface GenerateAs2805KekValidationOutput {
1344
+ /**
1345
+ * <p>The <code>keyARN</code> of sending KEK that Amazon Web Services Payment Cryptography validates for node-to-node initialization</p>
1346
+ * @public
1347
+ */
1348
+ KeyArn: string | undefined;
1349
+ /**
1350
+ * <p>The key check value (KCV) of the sending KEK that Amazon Web Services Payment Cryptography validates for node-to-node initialization.</p>
1351
+ * @public
1352
+ */
1353
+ KeyCheckValue: string | undefined;
1354
+ /**
1355
+ * <p>The random key generated for sending KEK validation.</p>
1356
+ * @public
1357
+ */
1358
+ RandomKeySend: string | undefined;
1359
+ /**
1360
+ * <p>The random key generated for receiving KEK validation. The initiating node sends this key to its partner node for validation.</p>
1361
+ * @public
1362
+ */
1363
+ RandomKeyReceive: string | undefined;
1364
+ }
1237
1365
  /**
1238
1366
  * @public
1239
1367
  */
@@ -1894,7 +2022,7 @@ export interface GeneratePinDataInput {
1894
2022
  */
1895
2023
  PrimaryAccountNumber?: string | undefined;
1896
2024
  /**
1897
- * <p>The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports <code>ISO_Format_0</code>, <code>ISO_Format_3</code> and <code>ISO_Format_4</code>.</p> <p>The <code>ISO_Format_0</code> PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.</p> <p>The <code>ISO_Format_3</code> PIN block format is the same as <code>ISO_Format_0</code> except that the fill digits are random values from 10 to 15.</p> <p>The <code>ISO_Format_4</code> PIN block format is the only one supporting AES encryption. It is similar to <code>ISO_Format_3</code> but doubles the pin block length by padding with fill digit A and random values from 10 to 15.</p>
2025
+ * <p>The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports <code>ISO_Format_0</code>, <code>ISO_Format_3</code> and <code>ISO_Format_4</code>.</p> <p>The <code>ISO_Format_0</code> PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.</p> <p>The <code>ISO_Format_3</code> PIN block format is the same as <code>ISO_Format_0</code> except that the fill digits are random values from 10 to 15.</p> <p>The <code>ISO_Format_4</code> PIN block format is the only one supporting AES encryption.</p>
1898
2026
  * @public
1899
2027
  */
1900
2028
  PinBlockFormat: PinBlockFormatForPinData | undefined;
@@ -2253,7 +2381,7 @@ export interface TranslateKeyMaterialInput {
2253
2381
  */
2254
2382
  OutgoingKeyMaterial: OutgoingKeyMaterial | undefined;
2255
2383
  /**
2256
- * <p>The key check value (KCV) algorithm used for calculating the KCV.</p>
2384
+ * <p>The key check value (KCV) algorithm used for calculating the KCV of the derived key.</p>
2257
2385
  * @public
2258
2386
  */
2259
2387
  KeyCheckValueAlgorithm?: KeyCheckValueAlgorithm | undefined;
@@ -2290,7 +2418,18 @@ export interface TranslateKeyMaterialOutput {
2290
2418
  WrappedKey: WrappedWorkingKey | undefined;
2291
2419
  }
2292
2420
  /**
2293
- * <p>Parameters that are required for tranlation between ISO9564 PIN format 0,3,4 tranlation.</p>
2421
+ * <p>Parameters that are required for translation between AS2805 PIN format 0 translation.</p>
2422
+ * @public
2423
+ */
2424
+ export interface TranslationPinDataAs2805Format0 {
2425
+ /**
2426
+ * <p>The Primary Account Number (PAN) of the cardholder. A PAN is a unique identifier for a payment credit or debit card and associates the card to a specific account holder.</p>
2427
+ * @public
2428
+ */
2429
+ PrimaryAccountNumber: string | undefined;
2430
+ }
2431
+ /**
2432
+ * <p>Parameters that are required for translation between ISO9564 PIN format 0,3,4 translation.</p>
2294
2433
  * @public
2295
2434
  */
2296
2435
  export interface TranslationPinDataIsoFormat034 {
@@ -2301,7 +2440,7 @@ export interface TranslationPinDataIsoFormat034 {
2301
2440
  PrimaryAccountNumber: string | undefined;
2302
2441
  }
2303
2442
  /**
2304
- * <p>Parameters that are required for ISO9564 PIN format 1 tranlation.</p>
2443
+ * <p>Parameters that are required for ISO9564 PIN format 1 translation.</p>
2305
2444
  * @public
2306
2445
  */
2307
2446
  export interface TranslationPinDataIsoFormat1 {
@@ -2310,13 +2449,13 @@ export interface TranslationPinDataIsoFormat1 {
2310
2449
  * <p>Parameters that are required for translation between ISO9564 PIN block formats 0,1,3,4.</p>
2311
2450
  * @public
2312
2451
  */
2313
- export type TranslationIsoFormats = TranslationIsoFormats.IsoFormat0Member | TranslationIsoFormats.IsoFormat1Member | TranslationIsoFormats.IsoFormat3Member | TranslationIsoFormats.IsoFormat4Member | TranslationIsoFormats.$UnknownMember;
2452
+ export type TranslationIsoFormats = TranslationIsoFormats.As2805Format0Member | TranslationIsoFormats.IsoFormat0Member | TranslationIsoFormats.IsoFormat1Member | TranslationIsoFormats.IsoFormat3Member | TranslationIsoFormats.IsoFormat4Member | TranslationIsoFormats.$UnknownMember;
2314
2453
  /**
2315
2454
  * @public
2316
2455
  */
2317
2456
  export declare namespace TranslationIsoFormats {
2318
2457
  /**
2319
- * <p>Parameters that are required for ISO9564 PIN format 0 tranlation.</p>
2458
+ * <p>Parameters that are required for ISO9564 PIN format 0 translation.</p>
2320
2459
  * @public
2321
2460
  */
2322
2461
  interface IsoFormat0Member {
@@ -2324,10 +2463,11 @@ export declare namespace TranslationIsoFormats {
2324
2463
  IsoFormat1?: never;
2325
2464
  IsoFormat3?: never;
2326
2465
  IsoFormat4?: never;
2466
+ As2805Format0?: never;
2327
2467
  $unknown?: never;
2328
2468
  }
2329
2469
  /**
2330
- * <p>Parameters that are required for ISO9564 PIN format 1 tranlation.</p>
2470
+ * <p>Parameters that are required for ISO9564 PIN format 1 translation.</p>
2331
2471
  * @public
2332
2472
  */
2333
2473
  interface IsoFormat1Member {
@@ -2335,10 +2475,11 @@ export declare namespace TranslationIsoFormats {
2335
2475
  IsoFormat1: TranslationPinDataIsoFormat1;
2336
2476
  IsoFormat3?: never;
2337
2477
  IsoFormat4?: never;
2478
+ As2805Format0?: never;
2338
2479
  $unknown?: never;
2339
2480
  }
2340
2481
  /**
2341
- * <p>Parameters that are required for ISO9564 PIN format 3 tranlation.</p>
2482
+ * <p>Parameters that are required for ISO9564 PIN format 3 translation.</p>
2342
2483
  * @public
2343
2484
  */
2344
2485
  interface IsoFormat3Member {
@@ -2346,10 +2487,11 @@ export declare namespace TranslationIsoFormats {
2346
2487
  IsoFormat1?: never;
2347
2488
  IsoFormat3: TranslationPinDataIsoFormat034;
2348
2489
  IsoFormat4?: never;
2490
+ As2805Format0?: never;
2349
2491
  $unknown?: never;
2350
2492
  }
2351
2493
  /**
2352
- * <p>Parameters that are required for ISO9564 PIN format 4 tranlation.</p>
2494
+ * <p>Parameters that are required for ISO9564 PIN format 4 translation.</p>
2353
2495
  * @public
2354
2496
  */
2355
2497
  interface IsoFormat4Member {
@@ -2357,6 +2499,19 @@ export declare namespace TranslationIsoFormats {
2357
2499
  IsoFormat1?: never;
2358
2500
  IsoFormat3?: never;
2359
2501
  IsoFormat4: TranslationPinDataIsoFormat034;
2502
+ As2805Format0?: never;
2503
+ $unknown?: never;
2504
+ }
2505
+ /**
2506
+ * <p>Parameters that are required for AS2805 PIN format 0 translation.</p>
2507
+ * @public
2508
+ */
2509
+ interface As2805Format0Member {
2510
+ IsoFormat0?: never;
2511
+ IsoFormat1?: never;
2512
+ IsoFormat3?: never;
2513
+ IsoFormat4?: never;
2514
+ As2805Format0: TranslationPinDataAs2805Format0;
2360
2515
  $unknown?: never;
2361
2516
  }
2362
2517
  /**
@@ -2367,6 +2522,7 @@ export declare namespace TranslationIsoFormats {
2367
2522
  IsoFormat1?: never;
2368
2523
  IsoFormat3?: never;
2369
2524
  IsoFormat4?: never;
2525
+ As2805Format0?: never;
2370
2526
  $unknown: [string, any];
2371
2527
  }
2372
2528
  /**
@@ -2378,6 +2534,7 @@ export declare namespace TranslationIsoFormats {
2378
2534
  IsoFormat1: (value: TranslationPinDataIsoFormat1) => T;
2379
2535
  IsoFormat3: (value: TranslationPinDataIsoFormat034) => T;
2380
2536
  IsoFormat4: (value: TranslationPinDataIsoFormat034) => T;
2537
+ As2805Format0: (value: TranslationPinDataAs2805Format0) => T;
2381
2538
  _: (name: string, value: any) => T;
2382
2539
  }
2383
2540
  }
@@ -2430,6 +2587,11 @@ export interface TranslatePinDataInput {
2430
2587
  * @public
2431
2588
  */
2432
2589
  OutgoingWrappedKey?: WrappedKey | undefined;
2590
+ /**
2591
+ * <p>The attributes and values to use for incoming AS2805 encryption key for PIN block translation.</p>
2592
+ * @public
2593
+ */
2594
+ IncomingAs2805Attributes?: As2805PekDerivationAttributes | undefined;
2433
2595
  }
2434
2596
  /**
2435
2597
  * @public