|
119 | 119 | {"shape":"ThrottlingException"},
|
120 | 120 | {"shape":"InternalServerException"}
|
121 | 121 | ],
|
122 |
| - "documentation":"<p>Generates pin-related data such as PIN, PIN Verification Value (PVV), PIN Block, and PIN Offset during new card issuance or reissuance. For more information, see <a href=\"https://docs.aws.amazon.com/payment-cryptography/latest/userguide/generate-pin-data.html\">Generate PIN data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation generates PIN, PVV, or PIN Offset and then encrypts it using Pin Encryption Key (PEK) to create an <code>EncryptedPinBlock</code> for transmission from Amazon Web Services Payment Cryptography. This operation uses a separate Pin Verification Key (PVK) for VISA PVV generation. </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>GenerateCardValidationData</a> </p> </li> <li> <p> <a>TranslatePinData</a> </p> </li> <li> <p> <a>VerifyPinData</a> </p> </li> </ul>" |
| 122 | + "documentation":"<p>Generates pin-related data such as PIN, PIN Verification Value (PVV), PIN Block, and PIN Offset during new card issuance or reissuance. For more information, see <a href=\"https://docs.aws.amazon.com/payment-cryptography/latest/userguide/generate-pin-data.html\">Generate PIN data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation generates PIN, PVV, or PIN Offset and then encrypts it using Pin Encryption Key (PEK) to create an <code>EncryptedPinBlock</code> for transmission from Amazon Web Services Payment Cryptography. This operation uses a separate Pin Verification Key (PVK) for VISA PVV generation. </p> <p>Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block. You can also use it for reveal PIN, wherein the generated PIN block is protected by the ECDH derived key before transmission from Amazon Web Services Payment Cryptography. For more information on establishing ECDH derived keys, see the <a href=\"https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html\">Generating 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>GenerateCardValidationData</a> </p> </li> <li> <p> <a>TranslatePinData</a> </p> </li> <li> <p> <a>VerifyPinData</a> </p> </li> </ul>" |
123 | 123 | },
|
124 | 124 | "ReEncryptData":{
|
125 | 125 | "name":"ReEncryptData",
|
|
155 | 155 | {"shape":"ThrottlingException"},
|
156 | 156 | {"shape":"InternalServerException"}
|
157 | 157 | ],
|
158 |
| - "documentation":"<p>Translates encrypted PIN block from and to ISO 9564 formats 0,1,3,4. For more information, see <a href=\"https://docs.aws.amazon.com/payment-cryptography/latest/userguide/translate-pin-data.html\">Translate PIN data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>PIN block translation involves changing the encrytion of PIN block from one encryption key to another encryption key and changing PIN block format from one to another without PIN block data leaving Amazon Web Services Payment Cryptography. The encryption key transformation can be from PEK (Pin Encryption Key) to BDK (Base Derivation Key) for DUKPT or from BDK for DUKPT to PEK. Amazon Web Services Payment Cryptography supports <code>TDES</code> and <code>AES</code> key derivation type for DUKPT translations. </p> <p>This operation also supports dynamic keys, allowing you to pass a dynamic PEK as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To translate PIN block using dynamic keys, the <code>keyARN</code> is the Key Encryption Key (KEK) of the TR-31 wrapped PEK. The incoming wrapped key shall have a key purpose of P0 with a mode of use of B or D. For more information, see <a href=\"https://docs.aws.amazon.com/payment-cryptography/latest/userguide/use-cases-acquirers-dynamickeys.html\">Using Dynamic Keys</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>The allowed combinations of PIN block format translations are guided by PCI. It is important to note that not all encrypted PIN block formats (example, format 1) require PAN (Primary Account Number) as input. And as such, PIN block format that requires PAN (example, formats 0,3,4) cannot be translated to a format (format 1) that does not require a PAN for generation. </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> <note> <p>Amazon Web Services Payment Cryptography currently supports ISO PIN block 4 translation for PIN block built using legacy PAN length. That is, PAN is the right most 12 digits excluding the check digits.</p> </note> <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>GeneratePinData</a> </p> </li> <li> <p> <a>VerifyPinData</a> </p> </li> </ul>" |
| 158 | + "documentation":"<p>Translates encrypted PIN block from and to ISO 9564 formats 0,1,3,4. For more information, see <a href=\"https://docs.aws.amazon.com/payment-cryptography/latest/userguide/translate-pin-data.html\">Translate PIN data</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>PIN block translation involves changing a PIN block from one encryption key to another and optionally change its format. PIN block translation occurs entirely within the HSM boundary and PIN data never enters or leaves Amazon Web Services Payment Cryptography in clear text. The encryption key transformation can be from PEK (Pin Encryption Key) to BDK (Base Derivation Key) for DUKPT or from BDK for DUKPT to PEK.</p> <p>Amazon Web Services Payment Cryptography also supports use of dynamic keys and ECDH (Elliptic Curve Diffie-Hellman) based key exchange for this operation.</p> <p>Dynamic keys allow you to pass a PEK as a TR-31 WrappedKeyBlock. They can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To translate PIN block using dynamic keys, the <code>keyARN</code> is the Key Encryption Key (KEK) of the TR-31 wrapped PEK. The incoming wrapped key shall have a key purpose of P0 with a mode of use of B or D. For more information, see <a href=\"https://docs.aws.amazon.com/payment-cryptography/latest/userguide/use-cases-acquirers-dynamickeys.html\">Using Dynamic Keys</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block, which is translated to a PEK encrypted PIN block for use within the service. You can also use ECDH for reveal PIN, wherein the service translates the PIN block from PEK to a ECDH derived encryption key. For more information on establishing ECDH derived keys, see the <a href=\"https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html\">Generating keys</a> in the <i>Amazon Web Services Payment Cryptography User Guide</i>.</p> <p>The allowed combinations of PIN block format translations are guided by PCI. It is important to note that not all encrypted PIN block formats (example, format 1) require PAN (Primary Account Number) as input. And as such, PIN block format that requires PAN (example, formats 0,3,4) cannot be translated to a format (format 1) that does not require a PAN for generation. </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> <note> <p>Amazon Web Services Payment Cryptography currently supports ISO PIN block 4 translation for PIN block built using legacy PAN length. That is, PAN is the right most 12 digits excluding the check digits.</p> </note> <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>GeneratePinData</a> </p> </li> <li> <p> <a>VerifyPinData</a> </p> </li> </ul>" |
159 | 159 | },
|
160 | 160 | "VerifyAuthRequestCryptogram":{
|
161 | 161 | "name":"VerifyAuthRequestCryptogram",
|
|
471 | 471 | },
|
472 | 472 | "documentation":"<p>Card data parameters that are required to verify Card Verification Value (CVV2) for the payment card.</p>"
|
473 | 473 | },
|
| 474 | + "CertificateType":{ |
| 475 | + "type":"string", |
| 476 | + "max":32768, |
| 477 | + "min":1, |
| 478 | + "pattern":"[^\\[;\\]<>]+", |
| 479 | + "sensitive":true |
| 480 | + }, |
474 | 481 | "CipherTextType":{
|
475 | 482 | "type":"string",
|
476 | 483 | "max":4096,
|
|
796 | 803 | },
|
797 | 804 | "documentation":"<p>Parameters that are required to generate or verify Dynamic Card Verification Value (dCVV).</p>"
|
798 | 805 | },
|
| 806 | + "EcdhDerivationAttributes":{ |
| 807 | + "type":"structure", |
| 808 | + "required":[ |
| 809 | + "CertificateAuthorityPublicKeyIdentifier", |
| 810 | + "PublicKeyCertificate", |
| 811 | + "KeyAlgorithm", |
| 812 | + "KeyDerivationFunction", |
| 813 | + "KeyDerivationHashAlgorithm", |
| 814 | + "SharedInformation" |
| 815 | + ], |
| 816 | + "members":{ |
| 817 | + "CertificateAuthorityPublicKeyIdentifier":{ |
| 818 | + "shape":"KeyArnOrKeyAliasType", |
| 819 | + "documentation":"<p>The <code>keyArn</code> of the certificate that signed the client's <code>PublicKeyCertificate</code>.</p>" |
| 820 | + }, |
| 821 | + "PublicKeyCertificate":{ |
| 822 | + "shape":"CertificateType", |
| 823 | + "documentation":"<p>The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.</p>" |
| 824 | + }, |
| 825 | + "KeyAlgorithm":{ |
| 826 | + "shape":"SymmetricKeyAlgorithm", |
| 827 | + "documentation":"<p>The key algorithm of the derived ECDH key.</p>" |
| 828 | + }, |
| 829 | + "KeyDerivationFunction":{ |
| 830 | + "shape":"KeyDerivationFunction", |
| 831 | + "documentation":"<p>The key derivation function to use for deriving a key using ECDH.</p>" |
| 832 | + }, |
| 833 | + "KeyDerivationHashAlgorithm":{ |
| 834 | + "shape":"KeyDerivationHashAlgorithm", |
| 835 | + "documentation":"<p>The hash type to use for deriving a key using ECDH.</p>" |
| 836 | + }, |
| 837 | + "SharedInformation":{ |
| 838 | + "shape":"SharedInformation", |
| 839 | + "documentation":"<p>A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.</p> <p>It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.</p>" |
| 840 | + } |
| 841 | + }, |
| 842 | + "documentation":"<p>Parameters required to establish ECDH based key exchange.</p>" |
| 843 | + }, |
799 | 844 | "Emv2000Attributes":{
|
800 | 845 | "type":"structure",
|
801 | 846 | "required":[
|
|
1208 | 1253 | },
|
1209 | 1254 | "EncryptionKeyIdentifier":{
|
1210 | 1255 | "shape":"KeyArnOrKeyAliasType",
|
1211 |
| - "documentation":"<p>The <code>keyARN</code> of the PEK that Amazon Web Services Payment Cryptography uses to encrypt the PIN Block.</p>" |
| 1256 | + "documentation":"<p>The <code>keyARN</code> of the PEK that Amazon Web Services Payment Cryptography uses to encrypt the PIN Block. For ECDH, it is the <code>keyARN</code> of the asymmetric ECC key.</p>" |
1212 | 1257 | },
|
1213 | 1258 | "GenerationAttributes":{
|
1214 | 1259 | "shape":"PinGenerationAttributes",
|
|
1225 | 1270 | "PinBlockFormat":{
|
1226 | 1271 | "shape":"PinBlockFormatForPinData",
|
1227 | 1272 | "documentation":"<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> and <code>ISO_Format_3</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>"
|
1228 |
| - } |
| 1273 | + }, |
| 1274 | + "EncryptionWrappedKey":{"shape":"WrappedKey"} |
1229 | 1275 | }
|
1230 | 1276 | },
|
1231 | 1277 | "GeneratePinDataOutput":{
|
|
1249 | 1295 | },
|
1250 | 1296 | "EncryptionKeyArn":{
|
1251 | 1297 | "shape":"KeyArn",
|
1252 |
| - "documentation":"<p>The <code>keyARN</code> of the PEK that Amazon Web Services Payment Cryptography uses for encrypted pin block generation.</p>" |
| 1298 | + "documentation":"<p>The <code>keyARN</code> of the PEK that Amazon Web Services Payment Cryptography uses for encrypted pin block generation. For ECDH, it is the <code>keyARN</code> of the asymmetric ECC key.</p>" |
1253 | 1299 | },
|
1254 | 1300 | "EncryptionKeyCheckValue":{
|
1255 | 1301 | "shape":"KeyCheckValue",
|
|
1504 | 1550 | "ANSI_X9_24"
|
1505 | 1551 | ]
|
1506 | 1552 | },
|
| 1553 | + "KeyDerivationFunction":{ |
| 1554 | + "type":"string", |
| 1555 | + "enum":[ |
| 1556 | + "NIST_SP800", |
| 1557 | + "ANSI_X963" |
| 1558 | + ] |
| 1559 | + }, |
| 1560 | + "KeyDerivationHashAlgorithm":{ |
| 1561 | + "type":"string", |
| 1562 | + "enum":[ |
| 1563 | + "SHA_256", |
| 1564 | + "SHA_384", |
| 1565 | + "SHA_512" |
| 1566 | + ] |
| 1567 | + }, |
1507 | 1568 | "MacAlgorithm":{
|
1508 | 1569 | "type":"string",
|
1509 | 1570 | "enum":[
|
|
1681 | 1742 | "type":"string",
|
1682 | 1743 | "enum":[
|
1683 | 1744 | "ISO_FORMAT_0",
|
1684 |
| - "ISO_FORMAT_3" |
| 1745 | + "ISO_FORMAT_3", |
| 1746 | + "ISO_FORMAT_4" |
1685 | 1747 | ]
|
1686 | 1748 | },
|
1687 | 1749 | "PinBlockLengthEquals16":{
|
|
2082 | 2144 | },
|
2083 | 2145 | "documentation":"<p>Parameters to derive session key for Visa payment card for ARQC verification.</p>"
|
2084 | 2146 | },
|
| 2147 | + "SharedInformation":{ |
| 2148 | + "type":"string", |
| 2149 | + "max":2048, |
| 2150 | + "min":2, |
| 2151 | + "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+" |
| 2152 | + }, |
2085 | 2153 | "String":{"type":"string"},
|
2086 | 2154 | "SymmetricEncryptionAttributes":{
|
2087 | 2155 | "type":"structure",
|
|
2102 | 2170 | },
|
2103 | 2171 | "documentation":"<p>Parameters requried to encrypt plaintext data using symmetric keys.</p>"
|
2104 | 2172 | },
|
| 2173 | + "SymmetricKeyAlgorithm":{ |
| 2174 | + "type":"string", |
| 2175 | + "enum":[ |
| 2176 | + "TDES_2KEY", |
| 2177 | + "TDES_3KEY", |
| 2178 | + "AES_128", |
| 2179 | + "AES_192", |
| 2180 | + "AES_256" |
| 2181 | + ] |
| 2182 | + }, |
2105 | 2183 | "ThrottlingException":{
|
2106 | 2184 | "type":"structure",
|
2107 | 2185 | "members":{
|
|
2147 | 2225 | "members":{
|
2148 | 2226 | "IncomingKeyIdentifier":{
|
2149 | 2227 | "shape":"KeyArnOrKeyAliasType",
|
2150 |
| - "documentation":"<p>The <code>keyARN</code> of the encryption key under which incoming PIN block data is encrypted. This key type can be PEK or BDK.</p> <p>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.</p>" |
| 2228 | + "documentation":"<p>The <code>keyARN</code> of the encryption key under which incoming PIN block data is encrypted. This key type can be PEK or BDK.</p> <p>For dynamic keys, it is the <code>keyARN</code> of KEK of the TR-31 wrapped PEK. For ECDH, it is the <code>keyARN</code> of the asymmetric ECC key.</p>" |
2151 | 2229 | },
|
2152 | 2230 | "OutgoingKeyIdentifier":{
|
2153 | 2231 | "shape":"KeyArnOrKeyAliasType",
|
2154 |
| - "documentation":"<p>The <code>keyARN</code> of the encryption key for encrypting outgoing PIN block data. This key type can be PEK or BDK.</p>" |
| 2232 | + "documentation":"<p>The <code>keyARN</code> of the encryption key for encrypting outgoing PIN block data. This key type can be PEK or BDK.</p> <p>For ECDH, it is the <code>keyARN</code> of the asymmetric ECC key.</p>" |
2155 | 2233 | },
|
2156 | 2234 | "IncomingTranslationAttributes":{
|
2157 | 2235 | "shape":"TranslationIsoFormats",
|
|
2514 | 2592 | "DukptAttributes":{
|
2515 | 2593 | "shape":"DukptAttributes",
|
2516 | 2594 | "documentation":"<p>The attributes and values for the DUKPT encrypted PIN block data.</p>"
|
2517 |
| - } |
| 2595 | + }, |
| 2596 | + "EncryptionWrappedKey":{"shape":"WrappedKey"} |
2518 | 2597 | }
|
2519 | 2598 | },
|
2520 | 2599 | "VerifyPinDataOutput":{
|
|
2675 | 2754 | "Tr31KeyBlock":{
|
2676 | 2755 | "shape":"Tr31WrappedKeyBlock",
|
2677 | 2756 | "documentation":"<p>The TR-31 wrapped key block.</p>"
|
| 2757 | + }, |
| 2758 | + "DiffieHellmanSymmetricKey":{ |
| 2759 | + "shape":"EcdhDerivationAttributes", |
| 2760 | + "documentation":"<p>The parameter information for deriving a ECDH shared key.</p>" |
2678 | 2761 | }
|
2679 | 2762 | },
|
2680 | 2763 | "documentation":"<p>Parameter information of a WrappedKeyBlock for encryption key exchange.</p>",
|
|
0 commit comments