aws-sdk 2.1651.0 → 2.1653.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.
@@ -52,11 +52,11 @@ declare class PaymentCryptographyData extends Service {
52
52
  */
53
53
  generatePinData(callback?: (err: AWSError, data: PaymentCryptographyData.Types.GeneratePinDataOutput) => void): Request<PaymentCryptographyData.Types.GeneratePinDataOutput, AWSError>;
54
54
  /**
55
- * Re-encrypt ciphertext using DUKPT, Symmetric and Asymmetric Data Encryption Keys. You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey or import your own encryption key by calling ImportKey. The KeyArn for use with this operation must be in a compatible key state with KeyModesOfUse set to Encrypt. In asymmetric encryption, ciphertext is encrypted using public component (imported by calling ImportKey) of the asymmetric key pair created outside of Amazon Web Services Payment Cryptography. For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For asymmetric encryption, Amazon Web Services Payment Cryptography supports RSA. To encrypt using DUKPT, a DUKPT key must already exist within your account with KeyModesOfUse set to DeriveKey or a new DUKPT can be generated by calling CreateKey. For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: DecryptData EncryptData GetPublicCertificate ImportKey
55
+ * Re-encrypt ciphertext using DUKPT or Symmetric data encryption keys. You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey or import your own encryption key by calling ImportKey. The KeyArn for use with this operation must be in a compatible key state with KeyModesOfUse set to Encrypt. For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. To encrypt using DUKPT, a DUKPT key must already exist within your account with KeyModesOfUse set to DeriveKey or a new DUKPT can be generated by calling CreateKey. For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: DecryptData EncryptData GetPublicCertificate ImportKey
56
56
  */
57
57
  reEncryptData(params: PaymentCryptographyData.Types.ReEncryptDataInput, callback?: (err: AWSError, data: PaymentCryptographyData.Types.ReEncryptDataOutput) => void): Request<PaymentCryptographyData.Types.ReEncryptDataOutput, AWSError>;
58
58
  /**
59
- * Re-encrypt ciphertext using DUKPT, Symmetric and Asymmetric Data Encryption Keys. You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey or import your own encryption key by calling ImportKey. The KeyArn for use with this operation must be in a compatible key state with KeyModesOfUse set to Encrypt. In asymmetric encryption, ciphertext is encrypted using public component (imported by calling ImportKey) of the asymmetric key pair created outside of Amazon Web Services Payment Cryptography. For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For asymmetric encryption, Amazon Web Services Payment Cryptography supports RSA. To encrypt using DUKPT, a DUKPT key must already exist within your account with KeyModesOfUse set to DeriveKey or a new DUKPT can be generated by calling CreateKey. For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: DecryptData EncryptData GetPublicCertificate ImportKey
59
+ * Re-encrypt ciphertext using DUKPT or Symmetric data encryption keys. You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey or import your own encryption key by calling ImportKey. The KeyArn for use with this operation must be in a compatible key state with KeyModesOfUse set to Encrypt. For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. To encrypt using DUKPT, a DUKPT key must already exist within your account with KeyModesOfUse set to DeriveKey or a new DUKPT can be generated by calling CreateKey. For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: DecryptData EncryptData GetPublicCertificate ImportKey
60
60
  */
61
61
  reEncryptData(callback?: (err: AWSError, data: PaymentCryptographyData.Types.ReEncryptDataOutput) => void): Request<PaymentCryptographyData.Types.ReEncryptDataOutput, AWSError>;
62
62
  /**
@@ -129,10 +129,6 @@ declare namespace PaymentCryptographyData {
129
129
  * Card data parameters that are required to generate a Card Security Code (CSC2) for an AMEX payment card.
130
130
  */
131
131
  AmexCardSecurityCodeVersion2?: AmexCardSecurityCodeVersion2;
132
- /**
133
- * Card data parameters that are required to generate a cardholder verification value for the payment card.
134
- */
135
- CardHolderVerificationValue?: CardHolderVerificationValue;
136
132
  /**
137
133
  * Card data parameters that are required to generate Card Verification Value (CVV) for the payment card.
138
134
  */
@@ -141,6 +137,10 @@ declare namespace PaymentCryptographyData {
141
137
  * Card data parameters that are required to generate Card Verification Value (CVV2) for the payment card.
142
138
  */
143
139
  CardVerificationValue2?: CardVerificationValue2;
140
+ /**
141
+ * Card data parameters that are required to generate a cardholder verification value for the payment card.
142
+ */
143
+ CardHolderVerificationValue?: CardHolderVerificationValue;
144
144
  /**
145
145
  * Card data parameters that are required to generate CDynamic Card Verification Code (dCVC) for the payment card.
146
146
  */
@@ -152,17 +152,17 @@ declare namespace PaymentCryptographyData {
152
152
  }
153
153
  export interface CardHolderVerificationValue {
154
154
  /**
155
- * The transaction counter value that comes from a point of sale terminal.
155
+ * A random number generated by the issuer.
156
156
  */
157
- ApplicationTransactionCounter: HexLengthBetween2And4;
157
+ UnpredictableNumber: HexLengthBetween2And8;
158
158
  /**
159
159
  * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
160
160
  */
161
- PanSequenceNumber: HexLengthEquals2;
161
+ PanSequenceNumber: NumberLengthEquals2;
162
162
  /**
163
- * A random number generated by the issuer.
163
+ * The transaction counter value that comes from a point of sale terminal.
164
164
  */
165
- UnpredictableNumber: HexLengthBetween2And8;
165
+ ApplicationTransactionCounter: HexLengthBetween2And4;
166
166
  }
167
167
  export interface CardVerificationAttributes {
168
168
  AmexCardSecurityCodeVersion1?: AmexCardSecurityCodeVersion1;
@@ -170,10 +170,6 @@ declare namespace PaymentCryptographyData {
170
170
  * Card data parameters that are required to verify a Card Security Code (CSC2) for an AMEX payment card.
171
171
  */
172
172
  AmexCardSecurityCodeVersion2?: AmexCardSecurityCodeVersion2;
173
- /**
174
- * Card data parameters that are required to verify a cardholder verification value for the payment card.
175
- */
176
- CardHolderVerificationValue?: CardHolderVerificationValue;
177
173
  /**
178
174
  * Card data parameters that are required to verify Card Verification Value (CVV) for the payment card.
179
175
  */
@@ -183,9 +179,9 @@ declare namespace PaymentCryptographyData {
183
179
  */
184
180
  CardVerificationValue2?: CardVerificationValue2;
185
181
  /**
186
- * Card data parameters that are required to verify CDynamic Card Verification Code (dCVC) for the payment card.
182
+ * Card data parameters that are required to verify a cardholder verification value for the payment card.
187
183
  */
188
- DiscoverDynamicCardVerificationCode?: DiscoverDynamicCardVerificationCode;
184
+ CardHolderVerificationValue?: CardHolderVerificationValue;
189
185
  /**
190
186
  * Card data parameters that are required to verify CDynamic Card Verification Code (dCVC) for the payment card.
191
187
  */
@@ -194,6 +190,10 @@ declare namespace PaymentCryptographyData {
194
190
  * Card data parameters that are required to verify CDynamic Card Verification Value (dCVV) for the payment card.
195
191
  */
196
192
  DynamicCardVerificationValue?: DynamicCardVerificationValue;
193
+ /**
194
+ * Card data parameters that are required to verify CDynamic Card Verification Code (dCVC) for the payment card.
195
+ */
196
+ DiscoverDynamicCardVerificationCode?: DiscoverDynamicCardVerificationCode;
197
197
  }
198
198
  export interface CardVerificationValue1 {
199
199
  /**
@@ -238,6 +238,10 @@ declare namespace PaymentCryptographyData {
238
238
  ProprietaryAuthenticationData?: HexLengthBetween1And16;
239
239
  }
240
240
  export interface DecryptDataInput {
241
+ /**
242
+ * The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for ciphertext decryption. When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.
243
+ */
244
+ KeyIdentifier: KeyArnOrKeyAliasType;
241
245
  /**
242
246
  * The ciphertext to decrypt.
243
247
  */
@@ -247,9 +251,9 @@ declare namespace PaymentCryptographyData {
247
251
  */
248
252
  DecryptionAttributes: EncryptionDecryptionAttributes;
249
253
  /**
250
- * The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for ciphertext decryption.
254
+ * The WrappedKeyBlock containing the encryption key for ciphertext decryption.
251
255
  */
252
- KeyIdentifier: KeyArnOrKeyAliasType;
256
+ WrappedKey?: WrappedKey;
253
257
  }
254
258
  export interface DecryptDataOutput {
255
259
  /**
@@ -266,10 +270,6 @@ declare namespace PaymentCryptographyData {
266
270
  PlainText: HexEvenLengthBetween16And4096;
267
271
  }
268
272
  export interface DiscoverDynamicCardVerificationCode {
269
- /**
270
- * The transaction counter value that comes from the terminal.
271
- */
272
- ApplicationTransactionCounter: HexLengthBetween2And4;
273
273
  /**
274
274
  * The expiry date of a payment card.
275
275
  */
@@ -278,18 +278,26 @@ declare namespace PaymentCryptographyData {
278
278
  * A random number that is generated by the issuer.
279
279
  */
280
280
  UnpredictableNumber: HexLengthBetween2And8;
281
+ /**
282
+ * The transaction counter value that comes from the terminal.
283
+ */
284
+ ApplicationTransactionCounter: HexLengthBetween2And4;
281
285
  }
282
286
  export interface DukptAttributes {
287
+ /**
288
+ * The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.
289
+ */
290
+ KeySerialNumber: HexLengthBetween10And24;
283
291
  /**
284
292
  * The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY.
285
293
  */
286
294
  DukptDerivationType: DukptDerivationType;
295
+ }
296
+ export interface DukptDerivationAttributes {
287
297
  /**
288
298
  * The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.
289
299
  */
290
300
  KeySerialNumber: HexLengthBetween10And24;
291
- }
292
- export interface DukptDerivationAttributes {
293
301
  /**
294
302
  * The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY
295
303
  */
@@ -298,13 +306,17 @@ declare namespace PaymentCryptographyData {
298
306
  * The type of use of DUKPT, which can be for incoming data decryption, outgoing data encryption, or both.
299
307
  */
300
308
  DukptKeyVariant?: DukptKeyVariant;
309
+ }
310
+ export type DukptDerivationType = "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256"|string;
311
+ export interface DukptEncryptionAttributes {
301
312
  /**
302
313
  * The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.
303
314
  */
304
315
  KeySerialNumber: HexLengthBetween10And24;
305
- }
306
- export type DukptDerivationType = "TDES_2KEY"|"TDES_3KEY"|"AES_128"|"AES_192"|"AES_256"|string;
307
- export interface DukptEncryptionAttributes {
316
+ /**
317
+ * The block cipher method to use for encryption. The default is CBC.
318
+ */
319
+ Mode?: DukptEncryptionMode;
308
320
  /**
309
321
  * The key type encrypted using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY
310
322
  */
@@ -317,100 +329,92 @@ declare namespace PaymentCryptographyData {
317
329
  * An input used to provide the intial state. If no value is provided, Amazon Web Services Payment Cryptography defaults it to zero.
318
330
  */
319
331
  InitializationVector?: HexLength16Or32;
320
- /**
321
- * The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.
322
- */
323
- KeySerialNumber: HexLengthBetween10And24;
324
- /**
325
- * The block cipher method to use for encryption. The default is CBC.
326
- */
327
- Mode?: DukptEncryptionMode;
328
332
  }
329
333
  export type DukptEncryptionMode = "ECB"|"CBC"|string;
330
334
  export type DukptKeyVariant = "BIDIRECTIONAL"|"REQUEST"|"RESPONSE"|string;
331
335
  export interface DynamicCardVerificationCode {
332
336
  /**
333
- * The transaction counter value that comes from the terminal.
337
+ * A random number generated by the issuer.
334
338
  */
335
- ApplicationTransactionCounter: HexLengthBetween2And4;
339
+ UnpredictableNumber: HexLengthBetween2And8;
336
340
  /**
337
341
  * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
338
342
  */
339
- PanSequenceNumber: HexLengthEquals2;
343
+ PanSequenceNumber: NumberLengthEquals2;
340
344
  /**
341
- * The data on the two tracks of magnetic cards used for financial transactions. This includes the cardholder name, PAN, expiration date, bank ID (BIN) and several other numbers the issuing bank uses to validate the data received.
345
+ * The transaction counter value that comes from the terminal.
342
346
  */
343
- TrackData: HexLengthBetween2And160;
347
+ ApplicationTransactionCounter: HexLengthBetween2And4;
344
348
  /**
345
- * A random number generated by the issuer.
349
+ * The data on the two tracks of magnetic cards used for financial transactions. This includes the cardholder name, PAN, expiration date, bank ID (BIN) and several other numbers the issuing bank uses to validate the data received.
346
350
  */
347
- UnpredictableNumber: HexLengthBetween2And8;
351
+ TrackData: HexLengthBetween2And160;
348
352
  }
349
353
  export interface DynamicCardVerificationValue {
350
354
  /**
351
- * The transaction counter value that comes from the terminal.
355
+ * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
352
356
  */
353
- ApplicationTransactionCounter: HexLengthBetween2And4;
357
+ PanSequenceNumber: NumberLengthEquals2;
354
358
  /**
355
359
  * The expiry date of a payment card.
356
360
  */
357
361
  CardExpiryDate: NumberLengthEquals4;
358
- /**
359
- * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
360
- */
361
- PanSequenceNumber: HexLengthEquals2;
362
362
  /**
363
363
  * The service code of the payment card. This is different from Card Security Code (CSC).
364
364
  */
365
365
  ServiceCode: NumberLengthEquals3;
366
- }
367
- export interface EmvEncryptionAttributes {
368
366
  /**
369
- * An input used to provide the intial state. If no value is provided, Amazon Web Services Payment Cryptography defaults it to zero.
367
+ * The transaction counter value that comes from the terminal.
370
368
  */
371
- InitializationVector?: HexLength16Or32;
369
+ ApplicationTransactionCounter: HexLengthBetween2And4;
370
+ }
371
+ export interface EmvEncryptionAttributes {
372
372
  /**
373
373
  * The EMV derivation mode to use for ICC master key derivation as per EMV version 4.3 book 2.
374
374
  */
375
375
  MajorKeyDerivationMode: EmvMajorKeyDerivationMode;
376
376
  /**
377
- * The block cipher method to use for encryption.
377
+ * The Primary Account Number (PAN), a unique identifier for a payment credit or debit card and associates the card to a specific account holder.
378
378
  */
379
- Mode?: EmvEncryptionMode;
379
+ PrimaryAccountNumber: NumberLengthBetween12And19;
380
380
  /**
381
381
  * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
382
382
  */
383
- PanSequenceNumber: HexLengthEquals2;
384
- /**
385
- * The Primary Account Number (PAN), a unique identifier for a payment credit or debit card and associates the card to a specific account holder.
386
- */
387
- PrimaryAccountNumber: NumberLengthBetween12And19;
383
+ PanSequenceNumber: NumberLengthEquals2;
388
384
  /**
389
385
  * The derivation value used to derive the ICC session key. It is typically the application transaction counter value padded with zeros or previous ARQC value padded with zeros as per EMV version 4.3 book 2.
390
386
  */
391
387
  SessionDerivationData: HexLengthEquals16;
388
+ /**
389
+ * The block cipher method to use for encryption.
390
+ */
391
+ Mode?: EmvEncryptionMode;
392
+ /**
393
+ * An input used to provide the intial state. If no value is provided, Amazon Web Services Payment Cryptography defaults it to zero.
394
+ */
395
+ InitializationVector?: HexLength16Or32;
392
396
  }
393
397
  export type EmvEncryptionMode = "ECB"|"CBC"|string;
394
398
  export type EmvMajorKeyDerivationMode = "EMV_OPTION_A"|"EMV_OPTION_B"|string;
395
399
  export interface EncryptDataInput {
396
400
  /**
397
- * The encryption key type and attributes for plaintext encryption.
398
- */
399
- EncryptionAttributes: EncryptionDecryptionAttributes;
400
- /**
401
- * The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
401
+ * The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption. When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.
402
402
  */
403
403
  KeyIdentifier: KeyArnOrKeyAliasType;
404
404
  /**
405
405
  * The plaintext to be encrypted. For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm and padding type that you define in AsymmetricEncryptionAttributes. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.
406
406
  */
407
407
  PlainText: HexEvenLengthBetween16And4064;
408
- }
409
- export interface EncryptDataOutput {
410
408
  /**
411
- * The encrypted ciphertext.
409
+ * The encryption key type and attributes for plaintext encryption.
412
410
  */
413
- CipherText: HexEvenLengthBetween16And4096;
411
+ EncryptionAttributes: EncryptionDecryptionAttributes;
412
+ /**
413
+ * The WrappedKeyBlock containing the encryption key for plaintext encryption.
414
+ */
415
+ WrappedKey?: WrappedKey;
416
+ }
417
+ export interface EncryptDataOutput {
414
418
  /**
415
419
  * The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
416
420
  */
@@ -419,25 +423,25 @@ declare namespace PaymentCryptographyData {
419
423
  * The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.
420
424
  */
421
425
  KeyCheckValue?: KeyCheckValue;
426
+ /**
427
+ * The encrypted ciphertext.
428
+ */
429
+ CipherText: HexEvenLengthBetween16And4096;
422
430
  }
423
431
  export interface EncryptionDecryptionAttributes {
432
+ /**
433
+ * Parameters that are required to perform encryption and decryption using symmetric keys.
434
+ */
435
+ Symmetric?: SymmetricEncryptionAttributes;
424
436
  Asymmetric?: AsymmetricEncryptionAttributes;
425
437
  Dukpt?: DukptEncryptionAttributes;
426
438
  /**
427
439
  * Parameters for plaintext encryption using EMV keys.
428
440
  */
429
441
  Emv?: EmvEncryptionAttributes;
430
- /**
431
- * Parameters that are required to perform encryption and decryption using symmetric keys.
432
- */
433
- Symmetric?: SymmetricEncryptionAttributes;
434
442
  }
435
443
  export type EncryptionMode = "ECB"|"CBC"|"CFB"|"CFB1"|"CFB8"|"CFB64"|"CFB128"|"OFB"|string;
436
444
  export interface GenerateCardValidationDataInput {
437
- /**
438
- * The algorithm for generating CVV or CSC values for the card within Amazon Web Services Payment Cryptography.
439
- */
440
- GenerationAttributes: CardGenerationAttributes;
441
445
  /**
442
446
  * The keyARN of the CVK encryption key that Amazon Web Services Payment Cryptography uses to generate card data.
443
447
  */
@@ -446,6 +450,10 @@ declare namespace PaymentCryptographyData {
446
450
  * The Primary Account Number (PAN), a unique identifier for a payment credit or debit card that associates the card with a specific account holder.
447
451
  */
448
452
  PrimaryAccountNumber: NumberLengthBetween12And19;
453
+ /**
454
+ * The algorithm for generating CVV or CSC values for the card within Amazon Web Services Payment Cryptography.
455
+ */
456
+ GenerationAttributes: CardGenerationAttributes;
449
457
  /**
450
458
  * The length of the CVV or CSC to be generated. The default value is 3.
451
459
  */
@@ -466,22 +474,22 @@ declare namespace PaymentCryptographyData {
466
474
  ValidationData: NumberLengthBetween3And5;
467
475
  }
468
476
  export interface GenerateMacInput {
469
- /**
470
- * The attributes and data values to use for MAC generation within Amazon Web Services Payment Cryptography.
471
- */
472
- GenerationAttributes: MacAttributes;
473
477
  /**
474
478
  * The keyARN of the MAC generation encryption key.
475
479
  */
476
480
  KeyIdentifier: KeyArnOrKeyAliasType;
477
- /**
478
- * The length of a MAC under generation.
479
- */
480
- MacLength?: IntegerRangeBetween4And16;
481
481
  /**
482
482
  * The data for which a MAC is under generation. This value must be hexBinary.
483
483
  */
484
484
  MessageData: HexEvenLengthBetween2And4096;
485
+ /**
486
+ * The attributes and data values to use for MAC generation within Amazon Web Services Payment Cryptography.
487
+ */
488
+ GenerationAttributes: MacAttributes;
489
+ /**
490
+ * The length of a MAC under generation.
491
+ */
492
+ MacLength?: IntegerRangeBetween4And16;
485
493
  }
486
494
  export interface GenerateMacOutput {
487
495
  /**
@@ -498,6 +506,10 @@ declare namespace PaymentCryptographyData {
498
506
  Mac: HexLengthBetween4And128;
499
507
  }
500
508
  export interface GeneratePinDataInput {
509
+ /**
510
+ * The keyARN of the PEK that Amazon Web Services Payment Cryptography uses for pin data generation.
511
+ */
512
+ GenerationKeyIdentifier: KeyArnOrKeyAliasType;
501
513
  /**
502
514
  * The keyARN of the PEK that Amazon Web Services Payment Cryptography uses to encrypt the PIN Block.
503
515
  */
@@ -506,14 +518,6 @@ declare namespace PaymentCryptographyData {
506
518
  * The attributes and values to use for PIN, PVV, or PIN Offset generation.
507
519
  */
508
520
  GenerationAttributes: PinGenerationAttributes;
509
- /**
510
- * The keyARN of the PEK that Amazon Web Services Payment Cryptography uses for pin data generation.
511
- */
512
- GenerationKeyIdentifier: KeyArnOrKeyAliasType;
513
- /**
514
- * The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3. The ISO_Format_0 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. The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.
515
- */
516
- PinBlockFormat: PinBlockFormatForPinData;
517
521
  /**
518
522
  * The length of PIN under generation.
519
523
  */
@@ -522,12 +526,20 @@ declare namespace PaymentCryptographyData {
522
526
  * The Primary Account Number (PAN), a unique identifier for a payment credit or debit card that associates the card with a specific account holder.
523
527
  */
524
528
  PrimaryAccountNumber: NumberLengthBetween12And19;
529
+ /**
530
+ * The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3. The ISO_Format_0 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. The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.
531
+ */
532
+ PinBlockFormat: PinBlockFormatForPinData;
525
533
  }
526
534
  export interface GeneratePinDataOutput {
527
535
  /**
528
- * The PIN block encrypted under PEK from Amazon Web Services Payment Cryptography. The encrypted PIN block is a composite of PAN (Primary Account Number) and PIN (Personal Identification Number), generated in accordance with ISO 9564 standard.
536
+ * The keyARN of the pin data generation key that Amazon Web Services Payment Cryptography uses for PIN, PVV or PIN Offset generation.
529
537
  */
530
- EncryptedPinBlock: HexLengthBetween16And32;
538
+ GenerationKeyArn: KeyArn;
539
+ /**
540
+ * The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.
541
+ */
542
+ GenerationKeyCheckValue: KeyCheckValue;
531
543
  /**
532
544
  * The keyARN of the PEK that Amazon Web Services Payment Cryptography uses for encrypted pin block generation.
533
545
  */
@@ -537,13 +549,9 @@ declare namespace PaymentCryptographyData {
537
549
  */
538
550
  EncryptionKeyCheckValue: KeyCheckValue;
539
551
  /**
540
- * The keyARN of the pin data generation key that Amazon Web Services Payment Cryptography uses for PIN, PVV or PIN Offset generation.
541
- */
542
- GenerationKeyArn: KeyArn;
543
- /**
544
- * The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.
552
+ * The PIN block encrypted under PEK from Amazon Web Services Payment Cryptography. The encrypted PIN block is a composite of PAN (Primary Account Number) and PIN (Personal Identification Number), generated in accordance with ISO 9564 standard.
545
553
  */
546
- GenerationKeyCheckValue: KeyCheckValue;
554
+ EncryptedPinBlock: HexLengthBetween16And32;
547
555
  /**
548
556
  * The attributes and values Amazon Web Services Payment Cryptography uses for pin data generation.
549
557
  */
@@ -565,7 +573,6 @@ declare namespace PaymentCryptographyData {
565
573
  export type HexLengthBetween4And128 = string;
566
574
  export type HexLengthEquals1 = string;
567
575
  export type HexLengthEquals16 = string;
568
- export type HexLengthEquals2 = string;
569
576
  export type HexLengthEquals4 = string;
570
577
  export type HexLengthEquals8 = string;
571
578
  export interface Ibm3624NaturalPin {
@@ -573,14 +580,14 @@ declare namespace PaymentCryptographyData {
573
580
  * The decimalization table to use for IBM 3624 PIN algorithm. The table is used to convert the algorithm intermediate result from hexadecimal characters to decimal.
574
581
  */
575
582
  DecimalizationTable: NumberLengthEquals16;
576
- /**
577
- * The unique data for cardholder identification.
578
- */
579
- PinValidationData: NumberLengthBetween4And16;
580
583
  /**
581
584
  * The padding character for validation data.
582
585
  */
583
586
  PinValidationDataPadCharacter: HexLengthEquals1;
587
+ /**
588
+ * The unique data for cardholder identification.
589
+ */
590
+ PinValidationData: NumberLengthBetween4And16;
584
591
  }
585
592
  export interface Ibm3624PinFromOffset {
586
593
  /**
@@ -588,35 +595,35 @@ declare namespace PaymentCryptographyData {
588
595
  */
589
596
  DecimalizationTable: NumberLengthEquals16;
590
597
  /**
591
- * The PIN offset value.
598
+ * The padding character for validation data.
592
599
  */
593
- PinOffset: NumberLengthBetween4And12;
600
+ PinValidationDataPadCharacter: HexLengthEquals1;
594
601
  /**
595
602
  * The unique data for cardholder identification.
596
603
  */
597
604
  PinValidationData: NumberLengthBetween4And16;
598
605
  /**
599
- * The padding character for validation data.
606
+ * The PIN offset value.
600
607
  */
601
- PinValidationDataPadCharacter: HexLengthEquals1;
608
+ PinOffset: NumberLengthBetween4And12;
602
609
  }
603
610
  export interface Ibm3624PinOffset {
604
- /**
605
- * The decimalization table to use for IBM 3624 PIN algorithm. The table is used to convert the algorithm intermediate result from hexadecimal characters to decimal.
606
- */
607
- DecimalizationTable: NumberLengthEquals16;
608
611
  /**
609
612
  * The encrypted PIN block data. According to ISO 9564 standard, a PIN Block is an encoded representation of a payment card Personal Account Number (PAN) and the cardholder Personal Identification Number (PIN).
610
613
  */
611
614
  EncryptedPinBlock: HexLengthBetween16And32;
612
615
  /**
613
- * The unique data for cardholder identification.
616
+ * The decimalization table to use for IBM 3624 PIN algorithm. The table is used to convert the algorithm intermediate result from hexadecimal characters to decimal.
614
617
  */
615
- PinValidationData: NumberLengthBetween4And16;
618
+ DecimalizationTable: NumberLengthEquals16;
616
619
  /**
617
620
  * The padding character for validation data.
618
621
  */
619
622
  PinValidationDataPadCharacter: HexLengthEquals1;
623
+ /**
624
+ * The unique data for cardholder identification.
625
+ */
626
+ PinValidationData: NumberLengthBetween4And16;
620
627
  }
621
628
  export interface Ibm3624PinVerification {
622
629
  /**
@@ -624,67 +631,68 @@ declare namespace PaymentCryptographyData {
624
631
  */
625
632
  DecimalizationTable: NumberLengthEquals16;
626
633
  /**
627
- * The PIN offset value.
634
+ * The padding character for validation data.
628
635
  */
629
- PinOffset: NumberLengthBetween4And12;
636
+ PinValidationDataPadCharacter: HexLengthEquals1;
630
637
  /**
631
638
  * The unique data for cardholder identification.
632
639
  */
633
640
  PinValidationData: NumberLengthBetween4And16;
634
641
  /**
635
- * The padding character for validation data.
642
+ * The PIN offset value.
636
643
  */
637
- PinValidationDataPadCharacter: HexLengthEquals1;
644
+ PinOffset: NumberLengthBetween4And12;
638
645
  }
639
646
  export interface Ibm3624RandomPin {
640
647
  /**
641
648
  * The decimalization table to use for IBM 3624 PIN algorithm. The table is used to convert the algorithm intermediate result from hexadecimal characters to decimal.
642
649
  */
643
650
  DecimalizationTable: NumberLengthEquals16;
644
- /**
645
- * The unique data for cardholder identification.
646
- */
647
- PinValidationData: NumberLengthBetween4And16;
648
651
  /**
649
652
  * The padding character for validation data.
650
653
  */
651
654
  PinValidationDataPadCharacter: HexLengthEquals1;
655
+ /**
656
+ * The unique data for cardholder identification.
657
+ */
658
+ PinValidationData: NumberLengthBetween4And16;
652
659
  }
653
- export type IntegerRangeBetween0And9 = number;
660
+ export type IntegerRangeBetween0And6 = number;
654
661
  export type IntegerRangeBetween3And5Type = number;
655
662
  export type IntegerRangeBetween4And12 = number;
656
663
  export type IntegerRangeBetween4And16 = number;
657
664
  export type KeyArn = string;
658
665
  export type KeyArnOrKeyAliasType = string;
659
666
  export type KeyCheckValue = string;
667
+ export type KeyCheckValueAlgorithm = "CMAC"|"ANSI_X9_24"|string;
660
668
  export type MacAlgorithm = "ISO9797_ALGORITHM1"|"ISO9797_ALGORITHM3"|"CMAC"|"HMAC_SHA224"|"HMAC_SHA256"|"HMAC_SHA384"|"HMAC_SHA512"|string;
661
669
  export interface MacAlgorithmDukpt {
662
670
  /**
663
- * The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY.
671
+ * The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.
664
672
  */
665
- DukptDerivationType?: DukptDerivationType;
673
+ KeySerialNumber: HexLengthBetween10And24;
666
674
  /**
667
675
  * The type of use of DUKPT, which can be MAC generation, MAC verification, or both.
668
676
  */
669
677
  DukptKeyVariant: DukptKeyVariant;
670
678
  /**
671
- * The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.
679
+ * The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY.
672
680
  */
673
- KeySerialNumber: HexLengthBetween10And24;
681
+ DukptDerivationType?: DukptDerivationType;
674
682
  }
675
683
  export interface MacAlgorithmEmv {
676
684
  /**
677
685
  * The method to use when deriving the master key for EMV MAC generation or verification.
678
686
  */
679
687
  MajorKeyDerivationMode: MajorKeyDerivationMode;
680
- /**
681
- * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
682
- */
683
- PanSequenceNumber: HexLengthEquals2;
684
688
  /**
685
689
  * The Primary Account Number (PAN), a unique identifier for a payment credit or debit card and associates the card to a specific account holder.
686
690
  */
687
691
  PrimaryAccountNumber: NumberLengthBetween12And19;
692
+ /**
693
+ * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
694
+ */
695
+ PanSequenceNumber: NumberLengthEquals2;
688
696
  /**
689
697
  * The method of deriving a session key for EMV MAC generation or verification.
690
698
  */
@@ -700,9 +708,9 @@ declare namespace PaymentCryptographyData {
700
708
  */
701
709
  Algorithm?: MacAlgorithm;
702
710
  /**
703
- * Parameters that are required for MAC generation or verification using DUKPT CMAC algorithm.
711
+ * Parameters that are required for MAC generation or verification using EMV MAC algorithm.
704
712
  */
705
- DukptCmac?: MacAlgorithmDukpt;
713
+ EmvMac?: MacAlgorithmEmv;
706
714
  /**
707
715
  * Parameters that are required for MAC generation or verification using DUKPT ISO 9797 algorithm1.
708
716
  */
@@ -712,9 +720,9 @@ declare namespace PaymentCryptographyData {
712
720
  */
713
721
  DukptIso9797Algorithm3?: MacAlgorithmDukpt;
714
722
  /**
715
- * Parameters that are required for MAC generation or verification using EMV MAC algorithm.
723
+ * Parameters that are required for MAC generation or verification using DUKPT CMAC algorithm.
716
724
  */
717
- EmvMac?: MacAlgorithmEmv;
725
+ DukptCmac?: MacAlgorithmDukpt;
718
726
  }
719
727
  export type MajorKeyDerivationMode = "EMV_OPTION_A"|"EMV_OPTION_B"|string;
720
728
  export type NumberLengthBetween12And19 = string;
@@ -722,6 +730,7 @@ declare namespace PaymentCryptographyData {
722
730
  export type NumberLengthBetween4And12 = string;
723
731
  export type NumberLengthBetween4And16 = string;
724
732
  export type NumberLengthEquals16 = string;
733
+ export type NumberLengthEquals2 = string;
725
734
  export type NumberLengthEquals3 = string;
726
735
  export type NumberLengthEquals4 = string;
727
736
  export type PaddingType = "PKCS1"|"OAEP_SHA1"|"OAEP_SHA256"|"OAEP_SHA512"|string;
@@ -738,41 +747,49 @@ declare namespace PaymentCryptographyData {
738
747
  }
739
748
  export interface PinGenerationAttributes {
740
749
  /**
741
- * Parameters that are required to generate or verify Ibm3624 natural PIN.
750
+ * Parameters that are required to generate or verify Visa PIN.
742
751
  */
743
- Ibm3624NaturalPin?: Ibm3624NaturalPin;
752
+ VisaPin?: VisaPin;
744
753
  /**
745
- * Parameters that are required to generate or verify Ibm3624 PIN from offset PIN.
754
+ * Parameters that are required to generate or verify Visa PIN Verification Value (PVV).
746
755
  */
747
- Ibm3624PinFromOffset?: Ibm3624PinFromOffset;
756
+ VisaPinVerificationValue?: VisaPinVerificationValue;
748
757
  /**
749
758
  * Parameters that are required to generate or verify Ibm3624 PIN offset PIN.
750
759
  */
751
760
  Ibm3624PinOffset?: Ibm3624PinOffset;
752
761
  /**
753
- * Parameters that are required to generate or verify Ibm3624 random PIN.
762
+ * Parameters that are required to generate or verify Ibm3624 natural PIN.
754
763
  */
755
- Ibm3624RandomPin?: Ibm3624RandomPin;
764
+ Ibm3624NaturalPin?: Ibm3624NaturalPin;
756
765
  /**
757
- * Parameters that are required to generate or verify Visa PIN.
766
+ * Parameters that are required to generate or verify Ibm3624 random PIN.
758
767
  */
759
- VisaPin?: VisaPin;
768
+ Ibm3624RandomPin?: Ibm3624RandomPin;
760
769
  /**
761
- * Parameters that are required to generate or verify Visa PIN Verification Value (PVV).
770
+ * Parameters that are required to generate or verify Ibm3624 PIN from offset PIN.
762
771
  */
763
- VisaPinVerificationValue?: VisaPinVerificationValue;
772
+ Ibm3624PinFromOffset?: Ibm3624PinFromOffset;
764
773
  }
765
774
  export interface PinVerificationAttributes {
766
- /**
767
- * Parameters that are required to generate or verify Ibm3624 PIN.
768
- */
769
- Ibm3624Pin?: Ibm3624PinVerification;
770
775
  /**
771
776
  * Parameters that are required to generate or verify Visa PIN.
772
777
  */
773
778
  VisaPin?: VisaPinVerification;
779
+ /**
780
+ * Parameters that are required to generate or verify Ibm3624 PIN.
781
+ */
782
+ Ibm3624Pin?: Ibm3624PinVerification;
774
783
  }
775
784
  export interface ReEncryptDataInput {
785
+ /**
786
+ * The keyARN of the encryption key of incoming ciphertext data. When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.
787
+ */
788
+ IncomingKeyIdentifier: KeyArnOrKeyAliasType;
789
+ /**
790
+ * The keyARN of the encryption key of outgoing ciphertext data after encryption by Amazon Web Services Payment Cryptography.
791
+ */
792
+ OutgoingKeyIdentifier: KeyArnOrKeyAliasType;
776
793
  /**
777
794
  * Ciphertext to be encrypted. The minimum allowed length is 16 bytes and maximum allowed length is 4096 bytes.
778
795
  */
@@ -781,24 +798,20 @@ declare namespace PaymentCryptographyData {
781
798
  * The attributes and values for incoming ciphertext.
782
799
  */
783
800
  IncomingEncryptionAttributes: ReEncryptionAttributes;
784
- /**
785
- * The keyARN of the encryption key of incoming ciphertext data.
786
- */
787
- IncomingKeyIdentifier: KeyArnOrKeyAliasType;
788
801
  /**
789
802
  * The attributes and values for outgoing ciphertext data after encryption by Amazon Web Services Payment Cryptography.
790
803
  */
791
804
  OutgoingEncryptionAttributes: ReEncryptionAttributes;
792
805
  /**
793
- * The keyARN of the encryption key of outgoing ciphertext data after encryption by Amazon Web Services Payment Cryptography.
806
+ * The WrappedKeyBlock containing the encryption key of incoming ciphertext data.
794
807
  */
795
- OutgoingKeyIdentifier: KeyArnOrKeyAliasType;
796
- }
797
- export interface ReEncryptDataOutput {
808
+ IncomingWrappedKey?: WrappedKey;
798
809
  /**
799
- * The encrypted ciphertext.
810
+ * The WrappedKeyBlock containing the encryption key of outgoing ciphertext data after encryption by Amazon Web Services Payment Cryptography.
800
811
  */
801
- CipherText: HexEvenLengthBetween16And4096;
812
+ OutgoingWrappedKey?: WrappedKey;
813
+ }
814
+ export interface ReEncryptDataOutput {
802
815
  /**
803
816
  * The keyARN (Amazon Resource Name) of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
804
817
  */
@@ -807,33 +820,29 @@ declare namespace PaymentCryptographyData {
807
820
  * The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.
808
821
  */
809
822
  KeyCheckValue: KeyCheckValue;
823
+ /**
824
+ * The encrypted ciphertext.
825
+ */
826
+ CipherText: HexEvenLengthBetween16And4096;
810
827
  }
811
828
  export interface ReEncryptionAttributes {
812
- Dukpt?: DukptEncryptionAttributes;
813
829
  /**
814
830
  * Parameters that are required to encrypt data using symmetric keys.
815
831
  */
816
832
  Symmetric?: SymmetricEncryptionAttributes;
833
+ Dukpt?: DukptEncryptionAttributes;
817
834
  }
818
835
  export interface SessionKeyAmex {
819
- /**
820
- * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
821
- */
822
- PanSequenceNumber: HexLengthEquals2;
823
836
  /**
824
837
  * 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.
825
838
  */
826
839
  PrimaryAccountNumber: NumberLengthBetween12And19;
827
- }
828
- export interface SessionKeyDerivation {
829
- /**
830
- * Parameters to derive session key for an Amex payment card for ARQC verification.
831
- */
832
- Amex?: SessionKeyAmex;
833
840
  /**
834
- * Parameters to derive session key for an Emv2000 payment card for ARQC verification.
841
+ * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
835
842
  */
836
- Emv2000?: SessionKeyEmv2000;
843
+ PanSequenceNumber: NumberLengthEquals2;
844
+ }
845
+ export interface SessionKeyDerivation {
837
846
  /**
838
847
  * Parameters to derive session key for an Emv common payment card for ARQC verification.
839
848
  */
@@ -842,6 +851,14 @@ declare namespace PaymentCryptographyData {
842
851
  * Parameters to derive session key for a Mastercard payment card for ARQC verification.
843
852
  */
844
853
  Mastercard?: SessionKeyMastercard;
854
+ /**
855
+ * Parameters to derive session key for an Emv2000 payment card for ARQC verification.
856
+ */
857
+ Emv2000?: SessionKeyEmv2000;
858
+ /**
859
+ * Parameters to derive session key for an Amex payment card for ARQC verification.
860
+ */
861
+ Amex?: SessionKeyAmex;
845
862
  /**
846
863
  * Parameters to derive session key for a Visa payment cardfor ARQC verification.
847
864
  */
@@ -860,105 +877,118 @@ declare namespace PaymentCryptographyData {
860
877
  }
861
878
  export interface SessionKeyEmv2000 {
862
879
  /**
863
- * The transaction counter that is provided by the terminal during transaction processing.
880
+ * 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.
864
881
  */
865
- ApplicationTransactionCounter: HexLengthBetween2And4;
882
+ PrimaryAccountNumber: NumberLengthBetween12And19;
866
883
  /**
867
884
  * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
868
885
  */
869
- PanSequenceNumber: HexLengthEquals2;
886
+ PanSequenceNumber: NumberLengthEquals2;
870
887
  /**
871
- * 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.
888
+ * The transaction counter that is provided by the terminal during transaction processing.
872
889
  */
873
- PrimaryAccountNumber: NumberLengthBetween12And19;
890
+ ApplicationTransactionCounter: HexLengthBetween2And4;
874
891
  }
875
892
  export interface SessionKeyEmvCommon {
876
893
  /**
877
- * The transaction counter that is provided by the terminal during transaction processing.
894
+ * 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.
878
895
  */
879
- ApplicationTransactionCounter: HexLengthBetween2And4;
896
+ PrimaryAccountNumber: NumberLengthBetween12And19;
880
897
  /**
881
898
  * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
882
899
  */
883
- PanSequenceNumber: HexLengthEquals2;
900
+ PanSequenceNumber: NumberLengthEquals2;
884
901
  /**
885
- * 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.
902
+ * The transaction counter that is provided by the terminal during transaction processing.
886
903
  */
887
- PrimaryAccountNumber: NumberLengthBetween12And19;
904
+ ApplicationTransactionCounter: HexLengthBetween2And4;
888
905
  }
889
906
  export interface SessionKeyMastercard {
890
907
  /**
891
- * The transaction counter that is provided by the terminal during transaction processing.
908
+ * 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.
892
909
  */
893
- ApplicationTransactionCounter: HexLengthBetween2And4;
910
+ PrimaryAccountNumber: NumberLengthBetween12And19;
894
911
  /**
895
912
  * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
896
913
  */
897
- PanSequenceNumber: HexLengthEquals2;
914
+ PanSequenceNumber: NumberLengthEquals2;
898
915
  /**
899
- * 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.
916
+ * The transaction counter that is provided by the terminal during transaction processing.
900
917
  */
901
- PrimaryAccountNumber: NumberLengthBetween12And19;
918
+ ApplicationTransactionCounter: HexLengthBetween2And4;
902
919
  /**
903
920
  * A random number generated by the issuer.
904
921
  */
905
922
  UnpredictableNumber: HexLengthBetween2And8;
906
923
  }
907
924
  export interface SessionKeyVisa {
908
- /**
909
- * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
910
- */
911
- PanSequenceNumber: HexLengthEquals2;
912
925
  /**
913
926
  * 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.
914
927
  */
915
928
  PrimaryAccountNumber: NumberLengthBetween12And19;
916
- }
917
- export interface SymmetricEncryptionAttributes {
918
929
  /**
919
- * An input used to provide the intial state. If no value is provided, Amazon Web Services Payment Cryptography defaults it to zero.
930
+ * A number that identifies and differentiates payment cards with the same Primary Account Number (PAN).
920
931
  */
921
- InitializationVector?: HexLength16Or32;
932
+ PanSequenceNumber: NumberLengthEquals2;
933
+ }
934
+ export interface SymmetricEncryptionAttributes {
922
935
  /**
923
936
  * The block cipher method to use for encryption.
924
937
  */
925
938
  Mode: EncryptionMode;
939
+ /**
940
+ * An input used to provide the intial state. If no value is provided, Amazon Web Services Payment Cryptography defaults it to zero.
941
+ */
942
+ InitializationVector?: HexLength16Or32;
926
943
  /**
927
944
  * The padding to be included with the data.
928
945
  */
929
946
  PaddingType?: PaddingType;
930
947
  }
948
+ export type Tr31WrappedKeyBlock = string;
931
949
  export interface TranslatePinDataInput {
932
950
  /**
933
- * The encrypted PIN block data that Amazon Web Services Payment Cryptography translates.
934
- */
935
- EncryptedPinBlock: HexEvenLengthBetween16And32;
936
- /**
937
- * The attributes and values to use for incoming DUKPT encryption key for PIN block translation.
951
+ * The keyARN of the encryption key under which incoming PIN block data is encrypted. This key type can be PEK or BDK. When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key for PIN block. Otherwise, it is the key identifier used to perform the operation.
938
952
  */
939
- IncomingDukptAttributes?: DukptDerivationAttributes;
953
+ IncomingKeyIdentifier: KeyArnOrKeyAliasType;
940
954
  /**
941
- * The keyARN of the encryption key under which incoming PIN block data is encrypted. This key type can be PEK or BDK.
955
+ * The keyARN of the encryption key for encrypting outgoing PIN block data. This key type can be PEK or BDK.
942
956
  */
943
- IncomingKeyIdentifier: KeyArnOrKeyAliasType;
957
+ OutgoingKeyIdentifier: KeyArnOrKeyAliasType;
944
958
  /**
945
959
  * The format of the incoming PIN block data for translation within Amazon Web Services Payment Cryptography.
946
960
  */
947
961
  IncomingTranslationAttributes: TranslationIsoFormats;
962
+ /**
963
+ * The format of the outgoing PIN block data after translation by Amazon Web Services Payment Cryptography.
964
+ */
965
+ OutgoingTranslationAttributes: TranslationIsoFormats;
966
+ /**
967
+ * The encrypted PIN block data that Amazon Web Services Payment Cryptography translates.
968
+ */
969
+ EncryptedPinBlock: HexEvenLengthBetween16And32;
970
+ /**
971
+ * The attributes and values to use for incoming DUKPT encryption key for PIN block translation.
972
+ */
973
+ IncomingDukptAttributes?: DukptDerivationAttributes;
948
974
  /**
949
975
  * The attributes and values to use for outgoing DUKPT encryption key after PIN block translation.
950
976
  */
951
977
  OutgoingDukptAttributes?: DukptDerivationAttributes;
952
978
  /**
953
- * The keyARN of the encryption key for encrypting outgoing PIN block data. This key type can be PEK or BDK.
979
+ * The WrappedKeyBlock containing the encryption key under which incoming PIN block data is encrypted.
954
980
  */
955
- OutgoingKeyIdentifier: KeyArnOrKeyAliasType;
981
+ IncomingWrappedKey?: WrappedKey;
956
982
  /**
957
- * The format of the outgoing PIN block data after translation by Amazon Web Services Payment Cryptography.
983
+ * The WrappedKeyBlock containing the encryption key for encrypting outgoing PIN block data.
958
984
  */
959
- OutgoingTranslationAttributes: TranslationIsoFormats;
985
+ OutgoingWrappedKey?: WrappedKey;
960
986
  }
961
987
  export interface TranslatePinDataOutput {
988
+ /**
989
+ * The outgoing encrypted PIN block data after translation.
990
+ */
991
+ PinBlock: HexLengthBetween16And32;
962
992
  /**
963
993
  * The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses to encrypt outgoing PIN block data after translation.
964
994
  */
@@ -967,10 +997,6 @@ declare namespace PaymentCryptographyData {
967
997
  * The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.
968
998
  */
969
999
  KeyCheckValue: KeyCheckValue;
970
- /**
971
- * The outgoing encrypted PIN block data after translation.
972
- */
973
- PinBlock: HexLengthBetween16And32;
974
1000
  }
975
1001
  export interface TranslationIsoFormats {
976
1002
  /**
@@ -1000,17 +1026,17 @@ declare namespace PaymentCryptographyData {
1000
1026
  }
1001
1027
  export interface VerifyAuthRequestCryptogramInput {
1002
1028
  /**
1003
- * The auth request cryptogram imported into Amazon Web Services Payment Cryptography for ARQC verification using a major encryption key and transaction data.
1029
+ * The keyARN of the major encryption key that Amazon Web Services Payment Cryptography uses for ARQC verification.
1004
1030
  */
1005
- AuthRequestCryptogram: HexLengthEquals16;
1031
+ KeyIdentifier: KeyArnOrKeyAliasType;
1006
1032
  /**
1007
- * The attributes and values for auth request cryptogram verification. These parameters are required in case using ARPC Method 1 or Method 2 for ARQC verification.
1033
+ * The transaction data that Amazon Web Services Payment Cryptography uses for ARQC verification. The same transaction is used for ARQC generation outside of Amazon Web Services Payment Cryptography.
1008
1034
  */
1009
- AuthResponseAttributes?: CryptogramAuthResponse;
1035
+ TransactionData: HexLengthBetween2And1024;
1010
1036
  /**
1011
- * The keyARN of the major encryption key that Amazon Web Services Payment Cryptography uses for ARQC verification.
1037
+ * The auth request cryptogram imported into Amazon Web Services Payment Cryptography for ARQC verification using a major encryption key and transaction data.
1012
1038
  */
1013
- KeyIdentifier: KeyArnOrKeyAliasType;
1039
+ AuthRequestCryptogram: HexLengthEquals16;
1014
1040
  /**
1015
1041
  * The method to use when deriving the major encryption key for ARQC verification within Amazon Web Services Payment Cryptography. The same key derivation mode was used for ARQC generation outside of Amazon Web Services Payment Cryptography.
1016
1042
  */
@@ -1020,15 +1046,11 @@ declare namespace PaymentCryptographyData {
1020
1046
  */
1021
1047
  SessionKeyDerivationAttributes: SessionKeyDerivation;
1022
1048
  /**
1023
- * The transaction data that Amazon Web Services Payment Cryptography uses for ARQC verification. The same transaction is used for ARQC generation outside of Amazon Web Services Payment Cryptography.
1049
+ * The attributes and values for auth request cryptogram verification. These parameters are required in case using ARPC Method 1 or Method 2 for ARQC verification.
1024
1050
  */
1025
- TransactionData: HexLengthBetween2And1024;
1051
+ AuthResponseAttributes?: CryptogramAuthResponse;
1026
1052
  }
1027
1053
  export interface VerifyAuthRequestCryptogramOutput {
1028
- /**
1029
- * The result for ARQC verification or ARPC generation within Amazon Web Services Payment Cryptography.
1030
- */
1031
- AuthResponseValue?: HexLengthBetween1And16;
1032
1054
  /**
1033
1055
  * The keyARN of the major encryption key that Amazon Web Services Payment Cryptography uses for ARQC verification.
1034
1056
  */
@@ -1037,6 +1059,10 @@ declare namespace PaymentCryptographyData {
1037
1059
  * The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.
1038
1060
  */
1039
1061
  KeyCheckValue: KeyCheckValue;
1062
+ /**
1063
+ * The result for ARQC verification or ARPC generation within Amazon Web Services Payment Cryptography.
1064
+ */
1065
+ AuthResponseValue?: HexLengthBetween1And16;
1040
1066
  }
1041
1067
  export interface VerifyCardValidationDataInput {
1042
1068
  /**
@@ -1047,14 +1073,14 @@ declare namespace PaymentCryptographyData {
1047
1073
  * The Primary Account Number (PAN), a unique identifier for a payment credit or debit card that associates the card with a specific account holder.
1048
1074
  */
1049
1075
  PrimaryAccountNumber: NumberLengthBetween12And19;
1050
- /**
1051
- * The CVV or CSC value for use for card data verification within Amazon Web Services Payment Cryptography.
1052
- */
1053
- ValidationData: NumberLengthBetween3And5;
1054
1076
  /**
1055
1077
  * The algorithm to use for verification of card data within Amazon Web Services Payment Cryptography.
1056
1078
  */
1057
1079
  VerificationAttributes: CardVerificationAttributes;
1080
+ /**
1081
+ * The CVV or CSC value for use for card data verification within Amazon Web Services Payment Cryptography.
1082
+ */
1083
+ ValidationData: NumberLengthBetween3And5;
1058
1084
  }
1059
1085
  export interface VerifyCardValidationDataOutput {
1060
1086
  /**
@@ -1071,22 +1097,22 @@ declare namespace PaymentCryptographyData {
1071
1097
  * The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses to verify MAC data.
1072
1098
  */
1073
1099
  KeyIdentifier: KeyArnOrKeyAliasType;
1074
- /**
1075
- * The MAC being verified.
1076
- */
1077
- Mac: HexEvenLengthBetween4And128;
1078
- /**
1079
- * The length of the MAC.
1080
- */
1081
- MacLength?: IntegerRangeBetween4And16;
1082
1100
  /**
1083
1101
  * The data on for which MAC is under verification. This value must be hexBinary.
1084
1102
  */
1085
1103
  MessageData: HexEvenLengthBetween2And4096;
1104
+ /**
1105
+ * The MAC being verified.
1106
+ */
1107
+ Mac: HexEvenLengthBetween4And128;
1086
1108
  /**
1087
1109
  * The attributes and data values to use for MAC verification within Amazon Web Services Payment Cryptography.
1088
1110
  */
1089
1111
  VerificationAttributes: MacAttributes;
1112
+ /**
1113
+ * The length of the MAC.
1114
+ */
1115
+ MacLength?: IntegerRangeBetween4And16;
1090
1116
  }
1091
1117
  export interface VerifyMacOutput {
1092
1118
  /**
@@ -1100,67 +1126,67 @@ declare namespace PaymentCryptographyData {
1100
1126
  }
1101
1127
  export interface VerifyPinDataInput {
1102
1128
  /**
1103
- * The attributes and values for the DUKPT encrypted PIN block data.
1104
- */
1105
- DukptAttributes?: DukptAttributes;
1106
- /**
1107
- * The encrypted PIN block data that Amazon Web Services Payment Cryptography verifies.
1129
+ * The keyARN of the PIN verification key.
1108
1130
  */
1109
- EncryptedPinBlock: HexLengthBetween16And32;
1131
+ VerificationKeyIdentifier: KeyArnOrKeyAliasType;
1110
1132
  /**
1111
1133
  * The keyARN of the encryption key under which the PIN block data is encrypted. This key type can be PEK or BDK.
1112
1134
  */
1113
1135
  EncryptionKeyIdentifier: KeyArnOrKeyAliasType;
1114
1136
  /**
1115
- * The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3. The ISO_Format_0 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. The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.
1137
+ * The attributes and values for PIN data verification.
1116
1138
  */
1117
- PinBlockFormat: PinBlockFormatForPinData;
1139
+ VerificationAttributes: PinVerificationAttributes;
1118
1140
  /**
1119
- * The length of PIN being verified.
1141
+ * The encrypted PIN block data that Amazon Web Services Payment Cryptography verifies.
1120
1142
  */
1121
- PinDataLength?: IntegerRangeBetween4And12;
1143
+ EncryptedPinBlock: HexLengthBetween16And32;
1122
1144
  /**
1123
1145
  * The Primary Account Number (PAN), a unique identifier for a payment credit or debit card that associates the card with a specific account holder.
1124
1146
  */
1125
1147
  PrimaryAccountNumber: NumberLengthBetween12And19;
1126
1148
  /**
1127
- * The attributes and values for PIN data verification.
1149
+ * The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3. The ISO_Format_0 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. The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.
1128
1150
  */
1129
- VerificationAttributes: PinVerificationAttributes;
1151
+ PinBlockFormat: PinBlockFormatForPinData;
1130
1152
  /**
1131
- * The keyARN of the PIN verification key.
1153
+ * The length of PIN being verified.
1132
1154
  */
1133
- VerificationKeyIdentifier: KeyArnOrKeyAliasType;
1155
+ PinDataLength?: IntegerRangeBetween4And12;
1156
+ /**
1157
+ * The attributes and values for the DUKPT encrypted PIN block data.
1158
+ */
1159
+ DukptAttributes?: DukptAttributes;
1134
1160
  }
1135
1161
  export interface VerifyPinDataOutput {
1136
1162
  /**
1137
- * The keyARN of the PEK that Amazon Web Services Payment Cryptography uses for encrypted pin block generation.
1163
+ * The keyARN of the PIN encryption key that Amazon Web Services Payment Cryptography uses for PIN or PIN Offset verification.
1138
1164
  */
1139
- EncryptionKeyArn: KeyArn;
1165
+ VerificationKeyArn: KeyArn;
1140
1166
  /**
1141
1167
  * The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.
1142
1168
  */
1143
- EncryptionKeyCheckValue: KeyCheckValue;
1169
+ VerificationKeyCheckValue: KeyCheckValue;
1144
1170
  /**
1145
- * The keyARN of the PIN encryption key that Amazon Web Services Payment Cryptography uses for PIN or PIN Offset verification.
1171
+ * The keyARN of the PEK that Amazon Web Services Payment Cryptography uses for encrypted pin block generation.
1146
1172
  */
1147
- VerificationKeyArn: KeyArn;
1173
+ EncryptionKeyArn: KeyArn;
1148
1174
  /**
1149
1175
  * The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed. Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.
1150
1176
  */
1151
- VerificationKeyCheckValue: KeyCheckValue;
1177
+ EncryptionKeyCheckValue: KeyCheckValue;
1152
1178
  }
1153
1179
  export interface VisaPin {
1154
1180
  /**
1155
1181
  * The value for PIN verification index. It is used in the Visa PIN algorithm to calculate the PVV (PIN Verification Value).
1156
1182
  */
1157
- PinVerificationKeyIndex: IntegerRangeBetween0And9;
1183
+ PinVerificationKeyIndex: IntegerRangeBetween0And6;
1158
1184
  }
1159
1185
  export interface VisaPinVerification {
1160
1186
  /**
1161
1187
  * The value for PIN verification index. It is used in the Visa PIN algorithm to calculate the PVV (PIN Verification Value).
1162
1188
  */
1163
- PinVerificationKeyIndex: IntegerRangeBetween0And9;
1189
+ PinVerificationKeyIndex: IntegerRangeBetween0And6;
1164
1190
  /**
1165
1191
  * Parameters that are required to generate or verify Visa PVV (PIN Verification Value).
1166
1192
  */
@@ -1174,7 +1200,23 @@ declare namespace PaymentCryptographyData {
1174
1200
  /**
1175
1201
  * The value for PIN verification index. It is used in the Visa PIN algorithm to calculate the PVV (PIN Verification Value).
1176
1202
  */
1177
- PinVerificationKeyIndex: IntegerRangeBetween0And9;
1203
+ PinVerificationKeyIndex: IntegerRangeBetween0And6;
1204
+ }
1205
+ export interface WrappedKey {
1206
+ /**
1207
+ * Parameter information of a WrappedKeyBlock for encryption key exchange.
1208
+ */
1209
+ WrappedKeyMaterial: WrappedKeyMaterial;
1210
+ /**
1211
+ * The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity. For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.
1212
+ */
1213
+ KeyCheckValueAlgorithm?: KeyCheckValueAlgorithm;
1214
+ }
1215
+ export interface WrappedKeyMaterial {
1216
+ /**
1217
+ * The TR-31 wrapped key block.
1218
+ */
1219
+ Tr31KeyBlock?: Tr31WrappedKeyBlock;
1178
1220
  }
1179
1221
  /**
1180
1222
  * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.