aws-sdk-paymentcryptographydata 1.40.0 → 1.42.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-paymentcryptographydata/client.rb +119 -12
- data/lib/aws-sdk-paymentcryptographydata/client_api.rb +69 -2
- data/lib/aws-sdk-paymentcryptographydata/types.rb +220 -2
- data/lib/aws-sdk-paymentcryptographydata.rb +1 -1
- data/sig/client.rbs +33 -4
- data/sig/types.rbs +72 -3
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 13c7bc23fcf14d79fbe549d99f7fbb025c703983bc11495691065baeaedd153a
         | 
| 4 | 
            +
              data.tar.gz: b6c66d676064f9da7c96a34b33646ef259442506e14c85d5415a1080129cfda6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d0728548784d3307f55234a9c889a198fcfc2d41330a418bcc49825a9979952fce97b53ceb3088b577d42aa2366cf7a60009c975e1706bc93d1a239f29f3c410
         | 
| 7 | 
            +
              data.tar.gz: 70fcc9a819ea5c555a04d6af56583416da78a3b0b15f9de72c0ec44fa7698e24eaf1546ffdb631bfe7f443c36f669361142581e2fec91125a8ae693b5c5166d1
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,16 @@ | |
| 1 1 | 
             
            Unreleased Changes
         | 
| 2 2 | 
             
            ------------------
         | 
| 3 3 |  | 
| 4 | 
            +
            1.42.0 (2025-10-21)
         | 
| 5 | 
            +
            ------------------
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            1.41.0 (2025-10-03)
         | 
| 10 | 
            +
            ------------------
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            * Feature - Added a new API - translateKeyMaterial; allows keys wrapped by ECDH derived keys to be rewrapped under a static AES keyblock without first importing the key into the service.
         | 
| 13 | 
            +
             | 
| 4 14 | 
             
            1.40.0 (2025-08-27)
         | 
| 5 15 | 
             
            ------------------
         | 
| 6 16 |  | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.42.0
         | 
| @@ -921,8 +921,8 @@ module Aws::PaymentCryptographyData | |
| 921 921 | 
             
                # You can use this operation to generate a DUPKT, CMAC, HMAC or EMV MAC
         | 
| 922 922 | 
             
                # by setting generation attributes and algorithm to the associated
         | 
| 923 923 | 
             
                # values. The MAC generation encryption key must have valid values for
         | 
| 924 | 
            -
                # `KeyUsage` such as `TR31_M7_HMAC_KEY` for HMAC generation, and  | 
| 925 | 
            -
                #  | 
| 924 | 
            +
                # `KeyUsage` such as `TR31_M7_HMAC_KEY` for HMAC generation, and the key
         | 
| 925 | 
            +
                # must have `KeyModesOfUse` set to `Generate` and `Verify`.
         | 
| 926 926 | 
             
                #
         | 
| 927 927 | 
             
                # For information about valid keys for this operation, see
         | 
| 928 928 | 
             
                # [Understanding key attributes][1] and [Key types for specific data
         | 
| @@ -1241,15 +1241,15 @@ module Aws::PaymentCryptographyData | |
| 1241 1241 | 
             
                # @option params [Integer] :pin_data_length
         | 
| 1242 1242 | 
             
                #   The length of PIN under generation.
         | 
| 1243 1243 | 
             
                #
         | 
| 1244 | 
            -
                # @option params [ | 
| 1244 | 
            +
                # @option params [String] :primary_account_number
         | 
| 1245 1245 | 
             
                #   The Primary Account Number (PAN), a unique identifier for a payment
         | 
| 1246 1246 | 
             
                #   credit or debit card that associates the card with a specific account
         | 
| 1247 1247 | 
             
                #   holder.
         | 
| 1248 1248 | 
             
                #
         | 
| 1249 1249 | 
             
                # @option params [required, String] :pin_block_format
         | 
| 1250 1250 | 
             
                #   The PIN encoding format for pin data generation as specified in ISO
         | 
| 1251 | 
            -
                #   9564. Amazon Web Services Payment Cryptography supports | 
| 1252 | 
            -
                #   and ` | 
| 1251 | 
            +
                #   9564. Amazon Web Services Payment Cryptography supports
         | 
| 1252 | 
            +
                #   `ISO_Format_0`, `ISO_Format_3` and `ISO_Format_4`.
         | 
| 1253 1253 | 
             
                #
         | 
| 1254 1254 | 
             
                #   The `ISO_Format_0` PIN block format is equivalent to the ANSI X9.8,
         | 
| 1255 1255 | 
             
                #   VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN
         | 
| @@ -1258,6 +1258,10 @@ module Aws::PaymentCryptographyData | |
| 1258 1258 | 
             
                #   The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
         | 
| 1259 1259 | 
             
                #   except that the fill digits are random values from 10 to 15.
         | 
| 1260 1260 | 
             
                #
         | 
| 1261 | 
            +
                #   The `ISO_Format_4` PIN block format is the only one supporting AES
         | 
| 1262 | 
            +
                #   encryption. It is similar to `ISO_Format_3` but doubles the pin block
         | 
| 1263 | 
            +
                #   length by padding with fill digit A and random values from 10 to 15.
         | 
| 1264 | 
            +
                #
         | 
| 1261 1265 | 
             
                # @option params [Types::WrappedKey] :encryption_wrapped_key
         | 
| 1262 1266 | 
             
                #   Parameter information of a WrappedKeyBlock for encryption key
         | 
| 1263 1267 | 
             
                #   exchange.
         | 
| @@ -1308,8 +1312,8 @@ module Aws::PaymentCryptographyData | |
| 1308 1312 | 
             
                #       },
         | 
| 1309 1313 | 
             
                #     },
         | 
| 1310 1314 | 
             
                #     pin_data_length: 1,
         | 
| 1311 | 
            -
                #     primary_account_number: "PrimaryAccountNumberType", | 
| 1312 | 
            -
                #     pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3, ISO_FORMAT_4
         | 
| 1315 | 
            +
                #     primary_account_number: "PrimaryAccountNumberType",
         | 
| 1316 | 
            +
                #     pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_1, ISO_FORMAT_3, ISO_FORMAT_4
         | 
| 1313 1317 | 
             
                #     encryption_wrapped_key: {
         | 
| 1314 1318 | 
             
                #       wrapped_key_material: { # required
         | 
| 1315 1319 | 
             
                #         tr_31_key_block: "Tr31WrappedKeyBlock",
         | 
| @@ -1513,6 +1517,109 @@ module Aws::PaymentCryptographyData | |
| 1513 1517 | 
             
                  req.send_request(options)
         | 
| 1514 1518 | 
             
                end
         | 
| 1515 1519 |  | 
| 1520 | 
            +
                # Translates an encryption key between different wrapping keys without
         | 
| 1521 | 
            +
                # importing the key into Amazon Web Services Payment Cryptography.
         | 
| 1522 | 
            +
                #
         | 
| 1523 | 
            +
                # This operation can be used when key material is frequently rotated,
         | 
| 1524 | 
            +
                # such as during every card transaction, and there is a need to avoid
         | 
| 1525 | 
            +
                # importing short-lived keys into Amazon Web Services Payment
         | 
| 1526 | 
            +
                # Cryptography. It translates short-lived transaction keys such as Pin
         | 
| 1527 | 
            +
                # Encryption Key (PEK) generated for each transaction and wrapped with
         | 
| 1528 | 
            +
                # an ECDH (Elliptic Curve Diffie-Hellman) derived wrapping key to
         | 
| 1529 | 
            +
                # another KEK (Key Encryption Key) wrapping key.
         | 
| 1530 | 
            +
                #
         | 
| 1531 | 
            +
                # Before using this operation, you must first request the public key
         | 
| 1532 | 
            +
                # certificate of the ECC key pair generated within Amazon Web Services
         | 
| 1533 | 
            +
                # Payment Cryptography to establish an ECDH key agreement. In
         | 
| 1534 | 
            +
                # `TranslateKeyData`, the service uses its own ECC key pair, public
         | 
| 1535 | 
            +
                # certificate of receiving ECC key pair, and the key derivation
         | 
| 1536 | 
            +
                # parameters to generate a derived key. The service uses this derived
         | 
| 1537 | 
            +
                # key to unwrap the incoming transaction key received as a
         | 
| 1538 | 
            +
                # TR31WrappedKeyBlock and re-wrap using a user provided KEK to generate
         | 
| 1539 | 
            +
                # an outgoing Tr31WrappedKeyBlock. For more information on establishing
         | 
| 1540 | 
            +
                # ECDH derived keys, see the [Creating keys][1] in the *Amazon Web
         | 
| 1541 | 
            +
                # Services Payment Cryptography User Guide*.
         | 
| 1542 | 
            +
                #
         | 
| 1543 | 
            +
                # For information about valid keys for this operation, see
         | 
| 1544 | 
            +
                # [Understanding key attributes][2] and [Key types for specific data
         | 
| 1545 | 
            +
                # operations][3] in the *Amazon Web Services Payment Cryptography User
         | 
| 1546 | 
            +
                # Guide*.
         | 
| 1547 | 
            +
                #
         | 
| 1548 | 
            +
                # **Cross-account use**: This operation can't be used across different
         | 
| 1549 | 
            +
                # Amazon Web Services accounts.
         | 
| 1550 | 
            +
                #
         | 
| 1551 | 
            +
                # **Related operations:**
         | 
| 1552 | 
            +
                #
         | 
| 1553 | 
            +
                # * [CreateKey][4]
         | 
| 1554 | 
            +
                #
         | 
| 1555 | 
            +
                # * [GetPublicCertificate][5]
         | 
| 1556 | 
            +
                #
         | 
| 1557 | 
            +
                # * [ImportKey][6]
         | 
| 1558 | 
            +
                #
         | 
| 1559 | 
            +
                #
         | 
| 1560 | 
            +
                #
         | 
| 1561 | 
            +
                # [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/create-keys.html
         | 
| 1562 | 
            +
                # [2]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-validattributes.html
         | 
| 1563 | 
            +
                # [3]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops-validkeys-ops.html
         | 
| 1564 | 
            +
                # [4]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html
         | 
| 1565 | 
            +
                # [5]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetPublicKeyCertificate.html
         | 
| 1566 | 
            +
                # [6]: https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html
         | 
| 1567 | 
            +
                #
         | 
| 1568 | 
            +
                # @option params [required, Types::IncomingKeyMaterial] :incoming_key_material
         | 
| 1569 | 
            +
                #   Parameter information of the TR31WrappedKeyBlock containing the
         | 
| 1570 | 
            +
                #   transaction key.
         | 
| 1571 | 
            +
                #
         | 
| 1572 | 
            +
                # @option params [required, Types::OutgoingKeyMaterial] :outgoing_key_material
         | 
| 1573 | 
            +
                #   Parameter information of the wrapping key used to wrap the transaction
         | 
| 1574 | 
            +
                #   key in the outgoing TR31WrappedKeyBlock.
         | 
| 1575 | 
            +
                #
         | 
| 1576 | 
            +
                # @option params [String] :key_check_value_algorithm
         | 
| 1577 | 
            +
                #   The key check value (KCV) algorithm used for calculating the KCV.
         | 
| 1578 | 
            +
                #
         | 
| 1579 | 
            +
                # @return [Types::TranslateKeyMaterialOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 1580 | 
            +
                #
         | 
| 1581 | 
            +
                #   * {Types::TranslateKeyMaterialOutput#wrapped_key #wrapped_key} => Types::WrappedWorkingKey
         | 
| 1582 | 
            +
                #
         | 
| 1583 | 
            +
                # @example Request syntax with placeholder values
         | 
| 1584 | 
            +
                #
         | 
| 1585 | 
            +
                #   resp = client.translate_key_material({
         | 
| 1586 | 
            +
                #     incoming_key_material: { # required
         | 
| 1587 | 
            +
                #       diffie_hellman_tr_31_key_block: {
         | 
| 1588 | 
            +
                #         private_key_identifier: "KeyArnOrKeyAliasType", # required
         | 
| 1589 | 
            +
                #         certificate_authority_public_key_identifier: "KeyArnOrKeyAliasType", # required
         | 
| 1590 | 
            +
                #         public_key_certificate: "CertificateType", # required
         | 
| 1591 | 
            +
                #         derive_key_algorithm: "TDES_2KEY", # required, accepts TDES_2KEY, TDES_3KEY, AES_128, AES_192, AES_256, HMAC_SHA256, HMAC_SHA384, HMAC_SHA512, HMAC_SHA224
         | 
| 1592 | 
            +
                #         key_derivation_function: "NIST_SP800", # required, accepts NIST_SP800, ANSI_X963
         | 
| 1593 | 
            +
                #         key_derivation_hash_algorithm: "SHA_256", # required, accepts SHA_256, SHA_384, SHA_512
         | 
| 1594 | 
            +
                #         derivation_data: { # required
         | 
| 1595 | 
            +
                #           shared_information: "SharedInformation",
         | 
| 1596 | 
            +
                #         },
         | 
| 1597 | 
            +
                #         wrapped_key_block: "Tr31WrappedKeyBlock", # required
         | 
| 1598 | 
            +
                #       },
         | 
| 1599 | 
            +
                #     },
         | 
| 1600 | 
            +
                #     outgoing_key_material: { # required
         | 
| 1601 | 
            +
                #       tr_31_key_block: {
         | 
| 1602 | 
            +
                #         wrapping_key_identifier: "KeyArnOrKeyAliasType", # required
         | 
| 1603 | 
            +
                #       },
         | 
| 1604 | 
            +
                #     },
         | 
| 1605 | 
            +
                #     key_check_value_algorithm: "CMAC", # accepts CMAC, ANSI_X9_24, HMAC, SHA_1
         | 
| 1606 | 
            +
                #   })
         | 
| 1607 | 
            +
                #
         | 
| 1608 | 
            +
                # @example Response structure
         | 
| 1609 | 
            +
                #
         | 
| 1610 | 
            +
                #   resp.wrapped_key.wrapped_key_material #=> String
         | 
| 1611 | 
            +
                #   resp.wrapped_key.key_check_value #=> String
         | 
| 1612 | 
            +
                #   resp.wrapped_key.wrapped_key_material_format #=> String, one of "KEY_CRYPTOGRAM", "TR31_KEY_BLOCK", "TR34_KEY_BLOCK"
         | 
| 1613 | 
            +
                #
         | 
| 1614 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslateKeyMaterial AWS API Documentation
         | 
| 1615 | 
            +
                #
         | 
| 1616 | 
            +
                # @overload translate_key_material(params = {})
         | 
| 1617 | 
            +
                # @param [Hash] params ({})
         | 
| 1618 | 
            +
                def translate_key_material(params = {}, options = {})
         | 
| 1619 | 
            +
                  req = build_request(:translate_key_material, params)
         | 
| 1620 | 
            +
                  req.send_request(options)
         | 
| 1621 | 
            +
                end
         | 
| 1622 | 
            +
             | 
| 1516 1623 | 
             
                # Translates encrypted PIN block from and to ISO 9564 formats 0,1,3,4.
         | 
| 1517 1624 | 
             
                # For more information, see [Translate PIN data][1] in the *Amazon Web
         | 
| 1518 1625 | 
             
                # Services Payment Cryptography User Guide*.
         | 
| @@ -1545,7 +1652,7 @@ module Aws::PaymentCryptographyData | |
| 1545 1652 | 
             
                # encrypted PIN block for use within the service. You can also use ECDH
         | 
| 1546 1653 | 
             
                # for reveal PIN, wherein the service translates the PIN block from PEK
         | 
| 1547 1654 | 
             
                # to a ECDH derived encryption key. For more information on establishing
         | 
| 1548 | 
            -
                # ECDH derived keys, see the [ | 
| 1655 | 
            +
                # ECDH derived keys, see the [Creating keys][3] in the *Amazon Web
         | 
| 1549 1656 | 
             
                # Services Payment Cryptography User Guide*.
         | 
| 1550 1657 | 
             
                #
         | 
| 1551 1658 | 
             
                # The allowed combinations of PIN block format translations are guided
         | 
| @@ -2119,7 +2226,7 @@ module Aws::PaymentCryptographyData | |
| 2119 2226 | 
             
                #   The encrypted PIN block data that Amazon Web Services Payment
         | 
| 2120 2227 | 
             
                #   Cryptography verifies.
         | 
| 2121 2228 | 
             
                #
         | 
| 2122 | 
            -
                # @option params [ | 
| 2229 | 
            +
                # @option params [String] :primary_account_number
         | 
| 2123 2230 | 
             
                #   The Primary Account Number (PAN), a unique identifier for a payment
         | 
| 2124 2231 | 
             
                #   credit or debit card that associates the card with a specific account
         | 
| 2125 2232 | 
             
                #   holder.
         | 
| @@ -2171,8 +2278,8 @@ module Aws::PaymentCryptographyData | |
| 2171 2278 | 
             
                #       },
         | 
| 2172 2279 | 
             
                #     },
         | 
| 2173 2280 | 
             
                #     encrypted_pin_block: "EncryptedPinBlockType", # required
         | 
| 2174 | 
            -
                #     primary_account_number: "PrimaryAccountNumberType", | 
| 2175 | 
            -
                #     pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_3, ISO_FORMAT_4
         | 
| 2281 | 
            +
                #     primary_account_number: "PrimaryAccountNumberType",
         | 
| 2282 | 
            +
                #     pin_block_format: "ISO_FORMAT_0", # required, accepts ISO_FORMAT_0, ISO_FORMAT_1, ISO_FORMAT_3, ISO_FORMAT_4
         | 
| 2176 2283 | 
             
                #     pin_data_length: 1,
         | 
| 2177 2284 | 
             
                #     dukpt_attributes: {
         | 
| 2178 2285 | 
             
                #       key_serial_number: "HexLength16Or20Or24", # required
         | 
| @@ -2228,7 +2335,7 @@ module Aws::PaymentCryptographyData | |
| 2228 2335 | 
             
                    tracer: tracer
         | 
| 2229 2336 | 
             
                  )
         | 
| 2230 2337 | 
             
                  context[:gem_name] = 'aws-sdk-paymentcryptographydata'
         | 
| 2231 | 
            -
                  context[:gem_version] = '1. | 
| 2338 | 
            +
                  context[:gem_version] = '1.42.0'
         | 
| 2232 2339 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 2233 2340 | 
             
                end
         | 
| 2234 2341 |  | 
| @@ -39,6 +39,7 @@ module Aws::PaymentCryptographyData | |
| 39 39 | 
             
                DecryptDataInput = Shapes::StructureShape.new(name: 'DecryptDataInput')
         | 
| 40 40 | 
             
                DecryptDataOutput = Shapes::StructureShape.new(name: 'DecryptDataOutput')
         | 
| 41 41 | 
             
                DerivationMethodAttributes = Shapes::UnionShape.new(name: 'DerivationMethodAttributes')
         | 
| 42 | 
            +
                DiffieHellmanDerivationData = Shapes::UnionShape.new(name: 'DiffieHellmanDerivationData')
         | 
| 42 43 | 
             
                DiscoverDynamicCardVerificationCode = Shapes::StructureShape.new(name: 'DiscoverDynamicCardVerificationCode')
         | 
| 43 44 | 
             
                DukptAttributes = Shapes::StructureShape.new(name: 'DukptAttributes')
         | 
| 44 45 | 
             
                DukptDerivationAttributes = Shapes::StructureShape.new(name: 'DukptDerivationAttributes')
         | 
| @@ -79,6 +80,8 @@ module Aws::PaymentCryptographyData | |
| 79 80 | 
             
                Ibm3624PinOffset = Shapes::StructureShape.new(name: 'Ibm3624PinOffset')
         | 
| 80 81 | 
             
                Ibm3624PinVerification = Shapes::StructureShape.new(name: 'Ibm3624PinVerification')
         | 
| 81 82 | 
             
                Ibm3624RandomPin = Shapes::StructureShape.new(name: 'Ibm3624RandomPin')
         | 
| 83 | 
            +
                IncomingDiffieHellmanTr31KeyBlock = Shapes::StructureShape.new(name: 'IncomingDiffieHellmanTr31KeyBlock')
         | 
| 84 | 
            +
                IncomingKeyMaterial = Shapes::UnionShape.new(name: 'IncomingKeyMaterial')
         | 
| 82 85 | 
             
                InitializationVectorType = Shapes::StringShape.new(name: 'InitializationVectorType')
         | 
| 83 86 | 
             
                IntegerRangeBetween0And6 = Shapes::IntegerShape.new(name: 'IntegerRangeBetween0And6')
         | 
| 84 87 | 
             
                IntegerRangeBetween3And5Type = Shapes::IntegerShape.new(name: 'IntegerRangeBetween3And5Type')
         | 
| @@ -91,6 +94,7 @@ module Aws::PaymentCryptographyData | |
| 91 94 | 
             
                KeyCheckValueAlgorithm = Shapes::StringShape.new(name: 'KeyCheckValueAlgorithm')
         | 
| 92 95 | 
             
                KeyDerivationFunction = Shapes::StringShape.new(name: 'KeyDerivationFunction')
         | 
| 93 96 | 
             
                KeyDerivationHashAlgorithm = Shapes::StringShape.new(name: 'KeyDerivationHashAlgorithm')
         | 
| 97 | 
            +
                KeyMaterial = Shapes::StringShape.new(name: 'KeyMaterial')
         | 
| 94 98 | 
             
                MacAlgorithm = Shapes::StringShape.new(name: 'MacAlgorithm')
         | 
| 95 99 | 
             
                MacAlgorithmDukpt = Shapes::StructureShape.new(name: 'MacAlgorithmDukpt')
         | 
| 96 100 | 
             
                MacAlgorithmEmv = Shapes::StructureShape.new(name: 'MacAlgorithmEmv')
         | 
| @@ -101,6 +105,8 @@ module Aws::PaymentCryptographyData | |
| 101 105 | 
             
                MasterCardAttributes = Shapes::StructureShape.new(name: 'MasterCardAttributes')
         | 
| 102 106 | 
             
                MessageDataType = Shapes::StringShape.new(name: 'MessageDataType')
         | 
| 103 107 | 
             
                NumberLengthEquals2 = Shapes::StringShape.new(name: 'NumberLengthEquals2')
         | 
| 108 | 
            +
                OutgoingKeyMaterial = Shapes::UnionShape.new(name: 'OutgoingKeyMaterial')
         | 
| 109 | 
            +
                OutgoingTr31KeyBlock = Shapes::StructureShape.new(name: 'OutgoingTr31KeyBlock')
         | 
| 104 110 | 
             
                PaddingType = Shapes::StringShape.new(name: 'PaddingType')
         | 
| 105 111 | 
             
                PinBlockFormatForEmvPinChange = Shapes::StringShape.new(name: 'PinBlockFormatForEmvPinChange')
         | 
| 106 112 | 
             
                PinBlockFormatForPinData = Shapes::StringShape.new(name: 'PinBlockFormatForPinData')
         | 
| @@ -139,6 +145,8 @@ module Aws::PaymentCryptographyData | |
| 139 145 | 
             
                Tr31WrappedKeyBlock = Shapes::StringShape.new(name: 'Tr31WrappedKeyBlock')
         | 
| 140 146 | 
             
                TrackDataType = Shapes::StringShape.new(name: 'TrackDataType')
         | 
| 141 147 | 
             
                TransactionDataType = Shapes::StringShape.new(name: 'TransactionDataType')
         | 
| 148 | 
            +
                TranslateKeyMaterialInput = Shapes::StructureShape.new(name: 'TranslateKeyMaterialInput')
         | 
| 149 | 
            +
                TranslateKeyMaterialOutput = Shapes::StructureShape.new(name: 'TranslateKeyMaterialOutput')
         | 
| 142 150 | 
             
                TranslatePinDataInput = Shapes::StructureShape.new(name: 'TranslatePinDataInput')
         | 
| 143 151 | 
             
                TranslatePinDataOutput = Shapes::StructureShape.new(name: 'TranslatePinDataOutput')
         | 
| 144 152 | 
             
                TranslationIsoFormats = Shapes::UnionShape.new(name: 'TranslationIsoFormats')
         | 
| @@ -166,6 +174,8 @@ module Aws::PaymentCryptographyData | |
| 166 174 | 
             
                VisaPinVerificationValue = Shapes::StructureShape.new(name: 'VisaPinVerificationValue')
         | 
| 167 175 | 
             
                WrappedKey = Shapes::StructureShape.new(name: 'WrappedKey')
         | 
| 168 176 | 
             
                WrappedKeyMaterial = Shapes::UnionShape.new(name: 'WrappedKeyMaterial')
         | 
| 177 | 
            +
                WrappedKeyMaterialFormat = Shapes::StringShape.new(name: 'WrappedKeyMaterialFormat')
         | 
| 178 | 
            +
                WrappedWorkingKey = Shapes::StructureShape.new(name: 'WrappedWorkingKey')
         | 
| 169 179 |  | 
| 170 180 | 
             
                AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
         | 
| 171 181 | 
             
                AccessDeniedException.struct_class = Types::AccessDeniedException
         | 
| @@ -282,6 +292,12 @@ module Aws::PaymentCryptographyData | |
| 282 292 | 
             
                DerivationMethodAttributes.add_member_subclass(:unknown, Types::DerivationMethodAttributes::Unknown)
         | 
| 283 293 | 
             
                DerivationMethodAttributes.struct_class = Types::DerivationMethodAttributes
         | 
| 284 294 |  | 
| 295 | 
            +
                DiffieHellmanDerivationData.add_member(:shared_information, Shapes::ShapeRef.new(shape: SharedInformation, location_name: "SharedInformation"))
         | 
| 296 | 
            +
                DiffieHellmanDerivationData.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
         | 
| 297 | 
            +
                DiffieHellmanDerivationData.add_member_subclass(:shared_information, Types::DiffieHellmanDerivationData::SharedInformation)
         | 
| 298 | 
            +
                DiffieHellmanDerivationData.add_member_subclass(:unknown, Types::DiffieHellmanDerivationData::Unknown)
         | 
| 299 | 
            +
                DiffieHellmanDerivationData.struct_class = Types::DiffieHellmanDerivationData
         | 
| 300 | 
            +
             | 
| 285 301 | 
             
                DiscoverDynamicCardVerificationCode.add_member(:card_expiry_date, Shapes::ShapeRef.new(shape: CardExpiryDateType, required: true, location_name: "CardExpiryDate"))
         | 
| 286 302 | 
             
                DiscoverDynamicCardVerificationCode.add_member(:unpredictable_number, Shapes::ShapeRef.new(shape: HexLengthBetween2And8, required: true, location_name: "UnpredictableNumber"))
         | 
| 287 303 | 
             
                DiscoverDynamicCardVerificationCode.add_member(:application_transaction_counter, Shapes::ShapeRef.new(shape: HexLengthBetween2And4, required: true, location_name: "ApplicationTransactionCounter"))
         | 
| @@ -415,7 +431,7 @@ module Aws::PaymentCryptographyData | |
| 415 431 | 
             
                GeneratePinDataInput.add_member(:encryption_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "EncryptionKeyIdentifier"))
         | 
| 416 432 | 
             
                GeneratePinDataInput.add_member(:generation_attributes, Shapes::ShapeRef.new(shape: PinGenerationAttributes, required: true, location_name: "GenerationAttributes"))
         | 
| 417 433 | 
             
                GeneratePinDataInput.add_member(:pin_data_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And12, location_name: "PinDataLength"))
         | 
| 418 | 
            -
                GeneratePinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType,  | 
| 434 | 
            +
                GeneratePinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, location_name: "PrimaryAccountNumber"))
         | 
| 419 435 | 
             
                GeneratePinDataInput.add_member(:pin_block_format, Shapes::ShapeRef.new(shape: PinBlockFormatForPinData, required: true, location_name: "PinBlockFormat"))
         | 
| 420 436 | 
             
                GeneratePinDataInput.add_member(:encryption_wrapped_key, Shapes::ShapeRef.new(shape: WrappedKey, location_name: "EncryptionWrappedKey"))
         | 
| 421 437 | 
             
                GeneratePinDataInput.struct_class = Types::GeneratePinDataInput
         | 
| @@ -456,6 +472,22 @@ module Aws::PaymentCryptographyData | |
| 456 472 | 
             
                Ibm3624RandomPin.add_member(:pin_validation_data, Shapes::ShapeRef.new(shape: PinValidationDataType, required: true, location_name: "PinValidationData"))
         | 
| 457 473 | 
             
                Ibm3624RandomPin.struct_class = Types::Ibm3624RandomPin
         | 
| 458 474 |  | 
| 475 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.add_member(:private_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "PrivateKeyIdentifier"))
         | 
| 476 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.add_member(:certificate_authority_public_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "CertificateAuthorityPublicKeyIdentifier"))
         | 
| 477 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.add_member(:public_key_certificate, Shapes::ShapeRef.new(shape: CertificateType, required: true, location_name: "PublicKeyCertificate"))
         | 
| 478 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.add_member(:derive_key_algorithm, Shapes::ShapeRef.new(shape: SymmetricKeyAlgorithm, required: true, location_name: "DeriveKeyAlgorithm"))
         | 
| 479 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.add_member(:key_derivation_function, Shapes::ShapeRef.new(shape: KeyDerivationFunction, required: true, location_name: "KeyDerivationFunction"))
         | 
| 480 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.add_member(:key_derivation_hash_algorithm, Shapes::ShapeRef.new(shape: KeyDerivationHashAlgorithm, required: true, location_name: "KeyDerivationHashAlgorithm"))
         | 
| 481 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.add_member(:derivation_data, Shapes::ShapeRef.new(shape: DiffieHellmanDerivationData, required: true, location_name: "DerivationData"))
         | 
| 482 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.add_member(:wrapped_key_block, Shapes::ShapeRef.new(shape: Tr31WrappedKeyBlock, required: true, location_name: "WrappedKeyBlock"))
         | 
| 483 | 
            +
                IncomingDiffieHellmanTr31KeyBlock.struct_class = Types::IncomingDiffieHellmanTr31KeyBlock
         | 
| 484 | 
            +
             | 
| 485 | 
            +
                IncomingKeyMaterial.add_member(:diffie_hellman_tr_31_key_block, Shapes::ShapeRef.new(shape: IncomingDiffieHellmanTr31KeyBlock, location_name: "DiffieHellmanTr31KeyBlock"))
         | 
| 486 | 
            +
                IncomingKeyMaterial.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
         | 
| 487 | 
            +
                IncomingKeyMaterial.add_member_subclass(:diffie_hellman_tr_31_key_block, Types::IncomingKeyMaterial::DiffieHellmanTr31KeyBlock)
         | 
| 488 | 
            +
                IncomingKeyMaterial.add_member_subclass(:unknown, Types::IncomingKeyMaterial::Unknown)
         | 
| 489 | 
            +
                IncomingKeyMaterial.struct_class = Types::IncomingKeyMaterial
         | 
| 490 | 
            +
             | 
| 459 491 | 
             
                InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
         | 
| 460 492 | 
             
                InternalServerException.struct_class = Types::InternalServerException
         | 
| 461 493 |  | 
| @@ -491,6 +523,15 @@ module Aws::PaymentCryptographyData | |
| 491 523 | 
             
                MasterCardAttributes.add_member(:application_cryptogram, Shapes::ShapeRef.new(shape: ApplicationCryptogramType, required: true, location_name: "ApplicationCryptogram"))
         | 
| 492 524 | 
             
                MasterCardAttributes.struct_class = Types::MasterCardAttributes
         | 
| 493 525 |  | 
| 526 | 
            +
                OutgoingKeyMaterial.add_member(:tr_31_key_block, Shapes::ShapeRef.new(shape: OutgoingTr31KeyBlock, location_name: "Tr31KeyBlock"))
         | 
| 527 | 
            +
                OutgoingKeyMaterial.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
         | 
| 528 | 
            +
                OutgoingKeyMaterial.add_member_subclass(:tr_31_key_block, Types::OutgoingKeyMaterial::Tr31KeyBlock)
         | 
| 529 | 
            +
                OutgoingKeyMaterial.add_member_subclass(:unknown, Types::OutgoingKeyMaterial::Unknown)
         | 
| 530 | 
            +
                OutgoingKeyMaterial.struct_class = Types::OutgoingKeyMaterial
         | 
| 531 | 
            +
             | 
| 532 | 
            +
                OutgoingTr31KeyBlock.add_member(:wrapping_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "WrappingKeyIdentifier"))
         | 
| 533 | 
            +
                OutgoingTr31KeyBlock.struct_class = Types::OutgoingTr31KeyBlock
         | 
| 534 | 
            +
             | 
| 494 535 | 
             
                PinData.add_member(:pin_offset, Shapes::ShapeRef.new(shape: PinOffsetType, location_name: "PinOffset"))
         | 
| 495 536 | 
             
                PinData.add_member(:verification_value, Shapes::ShapeRef.new(shape: VerificationValueType, location_name: "VerificationValue"))
         | 
| 496 537 | 
             
                PinData.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
         | 
| @@ -602,6 +643,14 @@ module Aws::PaymentCryptographyData | |
| 602 643 | 
             
                ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
         | 
| 603 644 | 
             
                ThrottlingException.struct_class = Types::ThrottlingException
         | 
| 604 645 |  | 
| 646 | 
            +
                TranslateKeyMaterialInput.add_member(:incoming_key_material, Shapes::ShapeRef.new(shape: IncomingKeyMaterial, required: true, location_name: "IncomingKeyMaterial"))
         | 
| 647 | 
            +
                TranslateKeyMaterialInput.add_member(:outgoing_key_material, Shapes::ShapeRef.new(shape: OutgoingKeyMaterial, required: true, location_name: "OutgoingKeyMaterial"))
         | 
| 648 | 
            +
                TranslateKeyMaterialInput.add_member(:key_check_value_algorithm, Shapes::ShapeRef.new(shape: KeyCheckValueAlgorithm, location_name: "KeyCheckValueAlgorithm"))
         | 
| 649 | 
            +
                TranslateKeyMaterialInput.struct_class = Types::TranslateKeyMaterialInput
         | 
| 650 | 
            +
             | 
| 651 | 
            +
                TranslateKeyMaterialOutput.add_member(:wrapped_key, Shapes::ShapeRef.new(shape: WrappedWorkingKey, required: true, location_name: "WrappedKey"))
         | 
| 652 | 
            +
                TranslateKeyMaterialOutput.struct_class = Types::TranslateKeyMaterialOutput
         | 
| 653 | 
            +
             | 
| 605 654 | 
             
                TranslatePinDataInput.add_member(:incoming_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "IncomingKeyIdentifier"))
         | 
| 606 655 | 
             
                TranslatePinDataInput.add_member(:outgoing_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "OutgoingKeyIdentifier"))
         | 
| 607 656 | 
             
                TranslatePinDataInput.add_member(:incoming_translation_attributes, Shapes::ShapeRef.new(shape: TranslationIsoFormats, required: true, location_name: "IncomingTranslationAttributes"))
         | 
| @@ -687,7 +736,7 @@ module Aws::PaymentCryptographyData | |
| 687 736 | 
             
                VerifyPinDataInput.add_member(:encryption_key_identifier, Shapes::ShapeRef.new(shape: KeyArnOrKeyAliasType, required: true, location_name: "EncryptionKeyIdentifier"))
         | 
| 688 737 | 
             
                VerifyPinDataInput.add_member(:verification_attributes, Shapes::ShapeRef.new(shape: PinVerificationAttributes, required: true, location_name: "VerificationAttributes"))
         | 
| 689 738 | 
             
                VerifyPinDataInput.add_member(:encrypted_pin_block, Shapes::ShapeRef.new(shape: EncryptedPinBlockType, required: true, location_name: "EncryptedPinBlock"))
         | 
| 690 | 
            -
                VerifyPinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType,  | 
| 739 | 
            +
                VerifyPinDataInput.add_member(:primary_account_number, Shapes::ShapeRef.new(shape: PrimaryAccountNumberType, location_name: "PrimaryAccountNumber"))
         | 
| 691 740 | 
             
                VerifyPinDataInput.add_member(:pin_block_format, Shapes::ShapeRef.new(shape: PinBlockFormatForPinData, required: true, location_name: "PinBlockFormat"))
         | 
| 692 741 | 
             
                VerifyPinDataInput.add_member(:pin_data_length, Shapes::ShapeRef.new(shape: IntegerRangeBetween4And12, location_name: "PinDataLength"))
         | 
| 693 742 | 
             
                VerifyPinDataInput.add_member(:dukpt_attributes, Shapes::ShapeRef.new(shape: DukptAttributes, location_name: "DukptAttributes"))
         | 
| @@ -737,6 +786,11 @@ module Aws::PaymentCryptographyData | |
| 737 786 | 
             
                WrappedKeyMaterial.add_member_subclass(:unknown, Types::WrappedKeyMaterial::Unknown)
         | 
| 738 787 | 
             
                WrappedKeyMaterial.struct_class = Types::WrappedKeyMaterial
         | 
| 739 788 |  | 
| 789 | 
            +
                WrappedWorkingKey.add_member(:wrapped_key_material, Shapes::ShapeRef.new(shape: KeyMaterial, required: true, location_name: "WrappedKeyMaterial"))
         | 
| 790 | 
            +
                WrappedWorkingKey.add_member(:key_check_value, Shapes::ShapeRef.new(shape: KeyCheckValue, required: true, location_name: "KeyCheckValue"))
         | 
| 791 | 
            +
                WrappedWorkingKey.add_member(:wrapped_key_material_format, Shapes::ShapeRef.new(shape: WrappedKeyMaterialFormat, required: true, location_name: "WrappedKeyMaterialFormat"))
         | 
| 792 | 
            +
                WrappedWorkingKey.struct_class = Types::WrappedWorkingKey
         | 
| 793 | 
            +
             | 
| 740 794 |  | 
| 741 795 | 
             
                # @api private
         | 
| 742 796 | 
             
                API = Seahorse::Model::Api.new.tap do |api|
         | 
| @@ -847,6 +901,19 @@ module Aws::PaymentCryptographyData | |
| 847 901 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 848 902 | 
             
                  end)
         | 
| 849 903 |  | 
| 904 | 
            +
                  api.add_operation(:translate_key_material, Seahorse::Model::Operation.new.tap do |o|
         | 
| 905 | 
            +
                    o.name = "TranslateKeyMaterial"
         | 
| 906 | 
            +
                    o.http_method = "POST"
         | 
| 907 | 
            +
                    o.http_request_uri = "/keymaterial/translate"
         | 
| 908 | 
            +
                    o.input = Shapes::ShapeRef.new(shape: TranslateKeyMaterialInput)
         | 
| 909 | 
            +
                    o.output = Shapes::ShapeRef.new(shape: TranslateKeyMaterialOutput)
         | 
| 910 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         | 
| 911 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         | 
| 912 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 913 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
         | 
| 914 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 915 | 
            +
                  end)
         | 
| 916 | 
            +
             | 
| 850 917 | 
             
                  api.add_operation(:translate_pin_data, Seahorse::Model::Operation.new.tap do |o|
         | 
| 851 918 | 
             
                    o.name = "TranslatePinData"
         | 
| 852 919 | 
             
                    o.http_method = "POST"
         | 
| @@ -522,6 +522,35 @@ module Aws::PaymentCryptographyData | |
| 522 522 | 
             
                  class Unknown < DerivationMethodAttributes; end
         | 
| 523 523 | 
             
                end
         | 
| 524 524 |  | 
| 525 | 
            +
                # The shared information used when deriving a key using ECDH.
         | 
| 526 | 
            +
                #
         | 
| 527 | 
            +
                # @note DiffieHellmanDerivationData is a union - when making an API calls you must set exactly one of the members.
         | 
| 528 | 
            +
                #
         | 
| 529 | 
            +
                # @!attribute [rw] shared_information
         | 
| 530 | 
            +
                #   A string containing information that binds the ECDH derived key to
         | 
| 531 | 
            +
                #   the two parties involved or to the context of the key.
         | 
| 532 | 
            +
                #
         | 
| 533 | 
            +
                #   It may include details like identities of the two parties deriving
         | 
| 534 | 
            +
                #   the key, context of the operation, session IDs, and optionally a
         | 
| 535 | 
            +
                #   nonce. It must not contain zero bytes. It is not recommended to
         | 
| 536 | 
            +
                #   reuse shared information for multiple ECDH key derivations, as it
         | 
| 537 | 
            +
                #   could result in derived key material being the same across different
         | 
| 538 | 
            +
                #   derivations.
         | 
| 539 | 
            +
                #   @return [String]
         | 
| 540 | 
            +
                #
         | 
| 541 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DiffieHellmanDerivationData AWS API Documentation
         | 
| 542 | 
            +
                #
         | 
| 543 | 
            +
                class DiffieHellmanDerivationData < Struct.new(
         | 
| 544 | 
            +
                  :shared_information,
         | 
| 545 | 
            +
                  :unknown)
         | 
| 546 | 
            +
                  SENSITIVE = []
         | 
| 547 | 
            +
                  include Aws::Structure
         | 
| 548 | 
            +
                  include Aws::Structure::Union
         | 
| 549 | 
            +
             | 
| 550 | 
            +
                  class SharedInformation < DiffieHellmanDerivationData; end
         | 
| 551 | 
            +
                  class Unknown < DiffieHellmanDerivationData; end
         | 
| 552 | 
            +
                end
         | 
| 553 | 
            +
             | 
| 525 554 | 
             
                # Parameters that are required to generate or verify dCVC (Dynamic Card
         | 
| 526 555 | 
             
                # Verification Code).
         | 
| 527 556 | 
             
                #
         | 
| @@ -757,7 +786,7 @@ module Aws::PaymentCryptographyData | |
| 757 786 | 
             
                  :key_derivation_function,
         | 
| 758 787 | 
             
                  :key_derivation_hash_algorithm,
         | 
| 759 788 | 
             
                  :shared_information)
         | 
| 760 | 
            -
                  SENSITIVE = [ | 
| 789 | 
            +
                  SENSITIVE = []
         | 
| 761 790 | 
             
                  include Aws::Structure
         | 
| 762 791 | 
             
                end
         | 
| 763 792 |  | 
| @@ -1269,7 +1298,7 @@ module Aws::PaymentCryptographyData | |
| 1269 1298 | 
             
                # @!attribute [rw] pin_block_format
         | 
| 1270 1299 | 
             
                #   The PIN encoding format for pin data generation as specified in ISO
         | 
| 1271 1300 | 
             
                #   9564. Amazon Web Services Payment Cryptography supports
         | 
| 1272 | 
            -
                #   `ISO_Format_0` and ` | 
| 1301 | 
            +
                #   `ISO_Format_0`, `ISO_Format_3` and `ISO_Format_4`.
         | 
| 1273 1302 | 
             
                #
         | 
| 1274 1303 | 
             
                #   The `ISO_Format_0` PIN block format is equivalent to the ANSI X9.8,
         | 
| 1275 1304 | 
             
                #   VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN
         | 
| @@ -1277,6 +1306,11 @@ module Aws::PaymentCryptographyData | |
| 1277 1306 | 
             
                #
         | 
| 1278 1307 | 
             
                #   The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
         | 
| 1279 1308 | 
             
                #   except that the fill digits are random values from 10 to 15.
         | 
| 1309 | 
            +
                #
         | 
| 1310 | 
            +
                #   The `ISO_Format_4` PIN block format is the only one supporting AES
         | 
| 1311 | 
            +
                #   encryption. It is similar to `ISO_Format_3` but doubles the pin
         | 
| 1312 | 
            +
                #   block length by padding with fill digit A and random values from 10
         | 
| 1313 | 
            +
                #   to 15.
         | 
| 1280 1314 | 
             
                #   @return [String]
         | 
| 1281 1315 | 
             
                #
         | 
| 1282 1316 | 
             
                # @!attribute [rw] encryption_wrapped_key
         | 
| @@ -1504,6 +1538,82 @@ module Aws::PaymentCryptographyData | |
| 1504 1538 | 
             
                  include Aws::Structure
         | 
| 1505 1539 | 
             
                end
         | 
| 1506 1540 |  | 
| 1541 | 
            +
                # Parameter information of a TR31KeyBlock wrapped using an ECDH derived
         | 
| 1542 | 
            +
                # key.
         | 
| 1543 | 
            +
                #
         | 
| 1544 | 
            +
                # @!attribute [rw] private_key_identifier
         | 
| 1545 | 
            +
                #   The `keyARN` of the asymmetric ECC key pair.
         | 
| 1546 | 
            +
                #   @return [String]
         | 
| 1547 | 
            +
                #
         | 
| 1548 | 
            +
                # @!attribute [rw] certificate_authority_public_key_identifier
         | 
| 1549 | 
            +
                #   The `keyArn` of the certificate that signed the client's
         | 
| 1550 | 
            +
                #   `PublicKeyCertificate`.
         | 
| 1551 | 
            +
                #   @return [String]
         | 
| 1552 | 
            +
                #
         | 
| 1553 | 
            +
                # @!attribute [rw] public_key_certificate
         | 
| 1554 | 
            +
                #   The client's public key certificate in PEM format (base64 encoded)
         | 
| 1555 | 
            +
                #   to use for ECDH key derivation.
         | 
| 1556 | 
            +
                #   @return [String]
         | 
| 1557 | 
            +
                #
         | 
| 1558 | 
            +
                # @!attribute [rw] derive_key_algorithm
         | 
| 1559 | 
            +
                #   The key algorithm of the derived ECDH key.
         | 
| 1560 | 
            +
                #   @return [String]
         | 
| 1561 | 
            +
                #
         | 
| 1562 | 
            +
                # @!attribute [rw] key_derivation_function
         | 
| 1563 | 
            +
                #   The key derivation function to use for deriving a key using ECDH.
         | 
| 1564 | 
            +
                #   @return [String]
         | 
| 1565 | 
            +
                #
         | 
| 1566 | 
            +
                # @!attribute [rw] key_derivation_hash_algorithm
         | 
| 1567 | 
            +
                #   The hash type to use for deriving a key using ECDH.
         | 
| 1568 | 
            +
                #   @return [String]
         | 
| 1569 | 
            +
                #
         | 
| 1570 | 
            +
                # @!attribute [rw] derivation_data
         | 
| 1571 | 
            +
                #   The shared information used when deriving a key using ECDH.
         | 
| 1572 | 
            +
                #   @return [Types::DiffieHellmanDerivationData]
         | 
| 1573 | 
            +
                #
         | 
| 1574 | 
            +
                # @!attribute [rw] wrapped_key_block
         | 
| 1575 | 
            +
                #   The WrappedKeyBlock containing the transaction key wrapped using an
         | 
| 1576 | 
            +
                #   ECDH dervied key.
         | 
| 1577 | 
            +
                #   @return [String]
         | 
| 1578 | 
            +
                #
         | 
| 1579 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/IncomingDiffieHellmanTr31KeyBlock AWS API Documentation
         | 
| 1580 | 
            +
                #
         | 
| 1581 | 
            +
                class IncomingDiffieHellmanTr31KeyBlock < Struct.new(
         | 
| 1582 | 
            +
                  :private_key_identifier,
         | 
| 1583 | 
            +
                  :certificate_authority_public_key_identifier,
         | 
| 1584 | 
            +
                  :public_key_certificate,
         | 
| 1585 | 
            +
                  :derive_key_algorithm,
         | 
| 1586 | 
            +
                  :key_derivation_function,
         | 
| 1587 | 
            +
                  :key_derivation_hash_algorithm,
         | 
| 1588 | 
            +
                  :derivation_data,
         | 
| 1589 | 
            +
                  :wrapped_key_block)
         | 
| 1590 | 
            +
                  SENSITIVE = [:wrapped_key_block]
         | 
| 1591 | 
            +
                  include Aws::Structure
         | 
| 1592 | 
            +
                end
         | 
| 1593 | 
            +
             | 
| 1594 | 
            +
                # Parameter information of the incoming WrappedKeyBlock containing the
         | 
| 1595 | 
            +
                # transaction key.
         | 
| 1596 | 
            +
                #
         | 
| 1597 | 
            +
                # @note IncomingKeyMaterial is a union - when making an API calls you must set exactly one of the members.
         | 
| 1598 | 
            +
                #
         | 
| 1599 | 
            +
                # @!attribute [rw] diffie_hellman_tr_31_key_block
         | 
| 1600 | 
            +
                #   Parameter information of the TR31WrappedKeyBlock containing the
         | 
| 1601 | 
            +
                #   transaction key wrapped using an ECDH dervied key.
         | 
| 1602 | 
            +
                #   @return [Types::IncomingDiffieHellmanTr31KeyBlock]
         | 
| 1603 | 
            +
                #
         | 
| 1604 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/IncomingKeyMaterial AWS API Documentation
         | 
| 1605 | 
            +
                #
         | 
| 1606 | 
            +
                class IncomingKeyMaterial < Struct.new(
         | 
| 1607 | 
            +
                  :diffie_hellman_tr_31_key_block,
         | 
| 1608 | 
            +
                  :unknown)
         | 
| 1609 | 
            +
                  SENSITIVE = []
         | 
| 1610 | 
            +
                  include Aws::Structure
         | 
| 1611 | 
            +
                  include Aws::Structure::Union
         | 
| 1612 | 
            +
             | 
| 1613 | 
            +
                  class DiffieHellmanTr31KeyBlock < IncomingKeyMaterial; end
         | 
| 1614 | 
            +
                  class Unknown < IncomingKeyMaterial; end
         | 
| 1615 | 
            +
                end
         | 
| 1616 | 
            +
             | 
| 1507 1617 | 
             
                # The request processing has failed because of an unknown error,
         | 
| 1508 1618 | 
             
                # exception, or failure.
         | 
| 1509 1619 | 
             
                #
         | 
| @@ -1672,6 +1782,44 @@ module Aws::PaymentCryptographyData | |
| 1672 1782 | 
             
                  include Aws::Structure
         | 
| 1673 1783 | 
             
                end
         | 
| 1674 1784 |  | 
| 1785 | 
            +
                # Parameter information of the outgoing TR31WrappedKeyBlock containing
         | 
| 1786 | 
            +
                # the transaction key.
         | 
| 1787 | 
            +
                #
         | 
| 1788 | 
            +
                # @note OutgoingKeyMaterial is a union - when making an API calls you must set exactly one of the members.
         | 
| 1789 | 
            +
                #
         | 
| 1790 | 
            +
                # @!attribute [rw] tr_31_key_block
         | 
| 1791 | 
            +
                #   Parameter information of the TR31WrappedKeyBlock containing the
         | 
| 1792 | 
            +
                #   transaction key wrapped using a KEK.
         | 
| 1793 | 
            +
                #   @return [Types::OutgoingTr31KeyBlock]
         | 
| 1794 | 
            +
                #
         | 
| 1795 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/OutgoingKeyMaterial AWS API Documentation
         | 
| 1796 | 
            +
                #
         | 
| 1797 | 
            +
                class OutgoingKeyMaterial < Struct.new(
         | 
| 1798 | 
            +
                  :tr_31_key_block,
         | 
| 1799 | 
            +
                  :unknown)
         | 
| 1800 | 
            +
                  SENSITIVE = []
         | 
| 1801 | 
            +
                  include Aws::Structure
         | 
| 1802 | 
            +
                  include Aws::Structure::Union
         | 
| 1803 | 
            +
             | 
| 1804 | 
            +
                  class Tr31KeyBlock < OutgoingKeyMaterial; end
         | 
| 1805 | 
            +
                  class Unknown < OutgoingKeyMaterial; end
         | 
| 1806 | 
            +
                end
         | 
| 1807 | 
            +
             | 
| 1808 | 
            +
                # Parameter information of the TR31WrappedKeyBlock containing the
         | 
| 1809 | 
            +
                # transaction key wrapped using a KEK.
         | 
| 1810 | 
            +
                #
         | 
| 1811 | 
            +
                # @!attribute [rw] wrapping_key_identifier
         | 
| 1812 | 
            +
                #   The `keyARN` of the KEK used to wrap the transaction key.
         | 
| 1813 | 
            +
                #   @return [String]
         | 
| 1814 | 
            +
                #
         | 
| 1815 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/OutgoingTr31KeyBlock AWS API Documentation
         | 
| 1816 | 
            +
                #
         | 
| 1817 | 
            +
                class OutgoingTr31KeyBlock < Struct.new(
         | 
| 1818 | 
            +
                  :wrapping_key_identifier)
         | 
| 1819 | 
            +
                  SENSITIVE = []
         | 
| 1820 | 
            +
                  include Aws::Structure
         | 
| 1821 | 
            +
                end
         | 
| 1822 | 
            +
             | 
| 1675 1823 | 
             
                # Parameters that are required to generate, translate, or verify PIN
         | 
| 1676 1824 | 
             
                # data.
         | 
| 1677 1825 | 
             
                #
         | 
| @@ -2161,6 +2309,42 @@ module Aws::PaymentCryptographyData | |
| 2161 2309 | 
             
                  include Aws::Structure
         | 
| 2162 2310 | 
             
                end
         | 
| 2163 2311 |  | 
| 2312 | 
            +
                # @!attribute [rw] incoming_key_material
         | 
| 2313 | 
            +
                #   Parameter information of the TR31WrappedKeyBlock containing the
         | 
| 2314 | 
            +
                #   transaction key.
         | 
| 2315 | 
            +
                #   @return [Types::IncomingKeyMaterial]
         | 
| 2316 | 
            +
                #
         | 
| 2317 | 
            +
                # @!attribute [rw] outgoing_key_material
         | 
| 2318 | 
            +
                #   Parameter information of the wrapping key used to wrap the
         | 
| 2319 | 
            +
                #   transaction key in the outgoing TR31WrappedKeyBlock.
         | 
| 2320 | 
            +
                #   @return [Types::OutgoingKeyMaterial]
         | 
| 2321 | 
            +
                #
         | 
| 2322 | 
            +
                # @!attribute [rw] key_check_value_algorithm
         | 
| 2323 | 
            +
                #   The key check value (KCV) algorithm used for calculating the KCV.
         | 
| 2324 | 
            +
                #   @return [String]
         | 
| 2325 | 
            +
                #
         | 
| 2326 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslateKeyMaterialInput AWS API Documentation
         | 
| 2327 | 
            +
                #
         | 
| 2328 | 
            +
                class TranslateKeyMaterialInput < Struct.new(
         | 
| 2329 | 
            +
                  :incoming_key_material,
         | 
| 2330 | 
            +
                  :outgoing_key_material,
         | 
| 2331 | 
            +
                  :key_check_value_algorithm)
         | 
| 2332 | 
            +
                  SENSITIVE = []
         | 
| 2333 | 
            +
                  include Aws::Structure
         | 
| 2334 | 
            +
                end
         | 
| 2335 | 
            +
             | 
| 2336 | 
            +
                # @!attribute [rw] wrapped_key
         | 
| 2337 | 
            +
                #   The outgoing KEK wrapped TR31WrappedKeyBlock.
         | 
| 2338 | 
            +
                #   @return [Types::WrappedWorkingKey]
         | 
| 2339 | 
            +
                #
         | 
| 2340 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslateKeyMaterialOutput AWS API Documentation
         | 
| 2341 | 
            +
                #
         | 
| 2342 | 
            +
                class TranslateKeyMaterialOutput < Struct.new(
         | 
| 2343 | 
            +
                  :wrapped_key)
         | 
| 2344 | 
            +
                  SENSITIVE = []
         | 
| 2345 | 
            +
                  include Aws::Structure
         | 
| 2346 | 
            +
                end
         | 
| 2347 | 
            +
             | 
| 2164 2348 | 
             
                # @!attribute [rw] incoming_key_identifier
         | 
| 2165 2349 | 
             
                #   The `keyARN` of the encryption key under which incoming PIN block
         | 
| 2166 2350 | 
             
                #   data is encrypted. This key type can be PEK or BDK.
         | 
| @@ -2863,6 +3047,40 @@ module Aws::PaymentCryptographyData | |
| 2863 3047 | 
             
                  class Unknown < WrappedKeyMaterial; end
         | 
| 2864 3048 | 
             
                end
         | 
| 2865 3049 |  | 
| 3050 | 
            +
                # The parameter information of the outgoing wrapped key block.
         | 
| 3051 | 
            +
                #
         | 
| 3052 | 
            +
                # @!attribute [rw] wrapped_key_material
         | 
| 3053 | 
            +
                #   The wrapped key block of the outgoing transaction key.
         | 
| 3054 | 
            +
                #   @return [String]
         | 
| 3055 | 
            +
                #
         | 
| 3056 | 
            +
                # @!attribute [rw] key_check_value
         | 
| 3057 | 
            +
                #   The key check value (KCV) of the key contained within the outgoing
         | 
| 3058 | 
            +
                #   TR31WrappedKeyBlock.
         | 
| 3059 | 
            +
                #
         | 
| 3060 | 
            +
                #   The KCV is used to check if all parties holding a given key have the
         | 
| 3061 | 
            +
                #   same key or to detect that a key has changed. For more information
         | 
| 3062 | 
            +
                #   on KCV, see [KCV][1] in the *Amazon Web Services Payment
         | 
| 3063 | 
            +
                #   Cryptography User Guide*.
         | 
| 3064 | 
            +
                #
         | 
| 3065 | 
            +
                #
         | 
| 3066 | 
            +
                #
         | 
| 3067 | 
            +
                #   [1]: https://docs.aws.amazon.com/payment-cryptography/latest/userguide/terminology.html#terms.kcv
         | 
| 3068 | 
            +
                #   @return [String]
         | 
| 3069 | 
            +
                #
         | 
| 3070 | 
            +
                # @!attribute [rw] wrapped_key_material_format
         | 
| 3071 | 
            +
                #   The key block format of the wrapped key.
         | 
| 3072 | 
            +
                #   @return [String]
         | 
| 3073 | 
            +
                #
         | 
| 3074 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/WrappedWorkingKey AWS API Documentation
         | 
| 3075 | 
            +
                #
         | 
| 3076 | 
            +
                class WrappedWorkingKey < Struct.new(
         | 
| 3077 | 
            +
                  :wrapped_key_material,
         | 
| 3078 | 
            +
                  :key_check_value,
         | 
| 3079 | 
            +
                  :wrapped_key_material_format)
         | 
| 3080 | 
            +
                  SENSITIVE = [:wrapped_key_material]
         | 
| 3081 | 
            +
                  include Aws::Structure
         | 
| 3082 | 
            +
                end
         | 
| 3083 | 
            +
             | 
| 2866 3084 | 
             
              end
         | 
| 2867 3085 | 
             
            end
         | 
| 2868 3086 |  | 
    
        data/sig/client.rbs
    CHANGED
    
    | @@ -384,8 +384,8 @@ module Aws | |
| 384 384 | 
             
                                             }?
         | 
| 385 385 | 
             
                                           },
         | 
| 386 386 | 
             
                                           ?pin_data_length: ::Integer,
         | 
| 387 | 
            -
                                           primary_account_number: ::String,
         | 
| 388 | 
            -
                                           pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
         | 
| 387 | 
            +
                                           ?primary_account_number: ::String,
         | 
| 388 | 
            +
                                           pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_1" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
         | 
| 389 389 | 
             
                                           ?encryption_wrapped_key: {
         | 
| 390 390 | 
             
                                             wrapped_key_material: {
         | 
| 391 391 | 
             
                                               tr_31_key_block: ::String?,
         | 
| @@ -473,6 +473,35 @@ module Aws | |
| 473 473 | 
             
                                       ) -> _ReEncryptDataResponseSuccess
         | 
| 474 474 | 
             
                                     | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ReEncryptDataResponseSuccess
         | 
| 475 475 |  | 
| 476 | 
            +
                  interface _TranslateKeyMaterialResponseSuccess
         | 
| 477 | 
            +
                    include ::Seahorse::Client::_ResponseSuccess[Types::TranslateKeyMaterialOutput]
         | 
| 478 | 
            +
                    def wrapped_key: () -> Types::WrappedWorkingKey
         | 
| 479 | 
            +
                  end
         | 
| 480 | 
            +
                  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/PaymentCryptographyData/Client.html#translate_key_material-instance_method
         | 
| 481 | 
            +
                  def translate_key_material: (
         | 
| 482 | 
            +
                                                incoming_key_material: {
         | 
| 483 | 
            +
                                                  diffie_hellman_tr_31_key_block: {
         | 
| 484 | 
            +
                                                    private_key_identifier: ::String,
         | 
| 485 | 
            +
                                                    certificate_authority_public_key_identifier: ::String,
         | 
| 486 | 
            +
                                                    public_key_certificate: ::String,
         | 
| 487 | 
            +
                                                    derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224"),
         | 
| 488 | 
            +
                                                    key_derivation_function: ("NIST_SP800" | "ANSI_X963"),
         | 
| 489 | 
            +
                                                    key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512"),
         | 
| 490 | 
            +
                                                    derivation_data: {
         | 
| 491 | 
            +
                                                      shared_information: ::String?
         | 
| 492 | 
            +
                                                    },
         | 
| 493 | 
            +
                                                    wrapped_key_block: ::String
         | 
| 494 | 
            +
                                                  }?
         | 
| 495 | 
            +
                                                },
         | 
| 496 | 
            +
                                                outgoing_key_material: {
         | 
| 497 | 
            +
                                                  tr_31_key_block: {
         | 
| 498 | 
            +
                                                    wrapping_key_identifier: ::String
         | 
| 499 | 
            +
                                                  }?
         | 
| 500 | 
            +
                                                },
         | 
| 501 | 
            +
                                                ?key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC" | "SHA_1")
         | 
| 502 | 
            +
                                              ) -> _TranslateKeyMaterialResponseSuccess
         | 
| 503 | 
            +
                                            | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _TranslateKeyMaterialResponseSuccess
         | 
| 504 | 
            +
             | 
| 476 505 | 
             
                  interface _TranslatePinDataResponseSuccess
         | 
| 477 506 | 
             
                    include ::Seahorse::Client::_ResponseSuccess[Types::TranslatePinDataOutput]
         | 
| 478 507 | 
             
                    def pin_block: () -> ::String
         | 
| @@ -718,8 +747,8 @@ module Aws | |
| 718 747 | 
             
                                           }?
         | 
| 719 748 | 
             
                                         },
         | 
| 720 749 | 
             
                                         encrypted_pin_block: ::String,
         | 
| 721 | 
            -
                                         primary_account_number: ::String,
         | 
| 722 | 
            -
                                         pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
         | 
| 750 | 
            +
                                         ?primary_account_number: ::String,
         | 
| 751 | 
            +
                                         pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_1" | "ISO_FORMAT_3" | "ISO_FORMAT_4"),
         | 
| 723 752 | 
             
                                         ?pin_data_length: ::Integer,
         | 
| 724 753 | 
             
                                         ?dukpt_attributes: {
         | 
| 725 754 | 
             
                                           key_serial_number: ::String,
         | 
    
        data/sig/types.rbs
    CHANGED
    
    | @@ -187,6 +187,17 @@ module Aws::PaymentCryptographyData | |
| 187 187 | 
             
                  end
         | 
| 188 188 | 
             
                end
         | 
| 189 189 |  | 
| 190 | 
            +
                class DiffieHellmanDerivationData
         | 
| 191 | 
            +
                  attr_accessor shared_information: ::String
         | 
| 192 | 
            +
                  attr_accessor unknown: untyped
         | 
| 193 | 
            +
                  SENSITIVE: []
         | 
| 194 | 
            +
             | 
| 195 | 
            +
                  class SharedInformation < DiffieHellmanDerivationData
         | 
| 196 | 
            +
                  end
         | 
| 197 | 
            +
                  class Unknown < DiffieHellmanDerivationData
         | 
| 198 | 
            +
                  end
         | 
| 199 | 
            +
                end
         | 
| 200 | 
            +
             | 
| 190 201 | 
             
                class DiscoverDynamicCardVerificationCode
         | 
| 191 202 | 
             
                  attr_accessor card_expiry_date: ::String
         | 
| 192 203 | 
             
                  attr_accessor unpredictable_number: ::String
         | 
| @@ -239,7 +250,7 @@ module Aws::PaymentCryptographyData | |
| 239 250 | 
             
                  attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
         | 
| 240 251 | 
             
                  attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
         | 
| 241 252 | 
             
                  attr_accessor shared_information: ::String
         | 
| 242 | 
            -
                  SENSITIVE: [ | 
| 253 | 
            +
                  SENSITIVE: []
         | 
| 243 254 | 
             
                end
         | 
| 244 255 |  | 
| 245 256 | 
             
                class Emv2000Attributes
         | 
| @@ -366,7 +377,7 @@ module Aws::PaymentCryptographyData | |
| 366 377 | 
             
                  attr_accessor generation_attributes: Types::PinGenerationAttributes
         | 
| 367 378 | 
             
                  attr_accessor pin_data_length: ::Integer
         | 
| 368 379 | 
             
                  attr_accessor primary_account_number: ::String
         | 
| 369 | 
            -
                  attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
         | 
| 380 | 
            +
                  attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_1" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
         | 
| 370 381 | 
             
                  attr_accessor encryption_wrapped_key: Types::WrappedKey
         | 
| 371 382 | 
             
                  SENSITIVE: [:primary_account_number]
         | 
| 372 383 | 
             
                end
         | 
| @@ -419,6 +430,29 @@ module Aws::PaymentCryptographyData | |
| 419 430 | 
             
                  SENSITIVE: [:decimalization_table, :pin_validation_data]
         | 
| 420 431 | 
             
                end
         | 
| 421 432 |  | 
| 433 | 
            +
                class IncomingDiffieHellmanTr31KeyBlock
         | 
| 434 | 
            +
                  attr_accessor private_key_identifier: ::String
         | 
| 435 | 
            +
                  attr_accessor certificate_authority_public_key_identifier: ::String
         | 
| 436 | 
            +
                  attr_accessor public_key_certificate: ::String
         | 
| 437 | 
            +
                  attr_accessor derive_key_algorithm: ("TDES_2KEY" | "TDES_3KEY" | "AES_128" | "AES_192" | "AES_256" | "HMAC_SHA256" | "HMAC_SHA384" | "HMAC_SHA512" | "HMAC_SHA224")
         | 
| 438 | 
            +
                  attr_accessor key_derivation_function: ("NIST_SP800" | "ANSI_X963")
         | 
| 439 | 
            +
                  attr_accessor key_derivation_hash_algorithm: ("SHA_256" | "SHA_384" | "SHA_512")
         | 
| 440 | 
            +
                  attr_accessor derivation_data: Types::DiffieHellmanDerivationData
         | 
| 441 | 
            +
                  attr_accessor wrapped_key_block: ::String
         | 
| 442 | 
            +
                  SENSITIVE: [:wrapped_key_block]
         | 
| 443 | 
            +
                end
         | 
| 444 | 
            +
             | 
| 445 | 
            +
                class IncomingKeyMaterial
         | 
| 446 | 
            +
                  attr_accessor diffie_hellman_tr_31_key_block: Types::IncomingDiffieHellmanTr31KeyBlock
         | 
| 447 | 
            +
                  attr_accessor unknown: untyped
         | 
| 448 | 
            +
                  SENSITIVE: []
         | 
| 449 | 
            +
             | 
| 450 | 
            +
                  class DiffieHellmanTr31KeyBlock < IncomingKeyMaterial
         | 
| 451 | 
            +
                  end
         | 
| 452 | 
            +
                  class Unknown < IncomingKeyMaterial
         | 
| 453 | 
            +
                  end
         | 
| 454 | 
            +
                end
         | 
| 455 | 
            +
             | 
| 422 456 | 
             
                class InternalServerException
         | 
| 423 457 | 
             
                  attr_accessor message: ::String
         | 
| 424 458 | 
             
                  SENSITIVE: []
         | 
| @@ -471,6 +505,22 @@ module Aws::PaymentCryptographyData | |
| 471 505 | 
             
                  SENSITIVE: [:primary_account_number, :application_cryptogram]
         | 
| 472 506 | 
             
                end
         | 
| 473 507 |  | 
| 508 | 
            +
                class OutgoingKeyMaterial
         | 
| 509 | 
            +
                  attr_accessor tr_31_key_block: Types::OutgoingTr31KeyBlock
         | 
| 510 | 
            +
                  attr_accessor unknown: untyped
         | 
| 511 | 
            +
                  SENSITIVE: []
         | 
| 512 | 
            +
             | 
| 513 | 
            +
                  class Tr31KeyBlock < OutgoingKeyMaterial
         | 
| 514 | 
            +
                  end
         | 
| 515 | 
            +
                  class Unknown < OutgoingKeyMaterial
         | 
| 516 | 
            +
                  end
         | 
| 517 | 
            +
                end
         | 
| 518 | 
            +
             | 
| 519 | 
            +
                class OutgoingTr31KeyBlock
         | 
| 520 | 
            +
                  attr_accessor wrapping_key_identifier: ::String
         | 
| 521 | 
            +
                  SENSITIVE: []
         | 
| 522 | 
            +
                end
         | 
| 523 | 
            +
             | 
| 474 524 | 
             
                class PinData
         | 
| 475 525 | 
             
                  attr_accessor pin_offset: ::String
         | 
| 476 526 | 
             
                  attr_accessor verification_value: ::String
         | 
| @@ -645,6 +695,18 @@ module Aws::PaymentCryptographyData | |
| 645 695 | 
             
                  SENSITIVE: []
         | 
| 646 696 | 
             
                end
         | 
| 647 697 |  | 
| 698 | 
            +
                class TranslateKeyMaterialInput
         | 
| 699 | 
            +
                  attr_accessor incoming_key_material: Types::IncomingKeyMaterial
         | 
| 700 | 
            +
                  attr_accessor outgoing_key_material: Types::OutgoingKeyMaterial
         | 
| 701 | 
            +
                  attr_accessor key_check_value_algorithm: ("CMAC" | "ANSI_X9_24" | "HMAC" | "SHA_1")
         | 
| 702 | 
            +
                  SENSITIVE: []
         | 
| 703 | 
            +
                end
         | 
| 704 | 
            +
             | 
| 705 | 
            +
                class TranslateKeyMaterialOutput
         | 
| 706 | 
            +
                  attr_accessor wrapped_key: Types::WrappedWorkingKey
         | 
| 707 | 
            +
                  SENSITIVE: []
         | 
| 708 | 
            +
                end
         | 
| 709 | 
            +
             | 
| 648 710 | 
             
                class TranslatePinDataInput
         | 
| 649 711 | 
             
                  attr_accessor incoming_key_identifier: ::String
         | 
| 650 712 | 
             
                  attr_accessor outgoing_key_identifier: ::String
         | 
| @@ -763,7 +825,7 @@ module Aws::PaymentCryptographyData | |
| 763 825 | 
             
                  attr_accessor verification_attributes: Types::PinVerificationAttributes
         | 
| 764 826 | 
             
                  attr_accessor encrypted_pin_block: ::String
         | 
| 765 827 | 
             
                  attr_accessor primary_account_number: ::String
         | 
| 766 | 
            -
                  attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
         | 
| 828 | 
            +
                  attr_accessor pin_block_format: ("ISO_FORMAT_0" | "ISO_FORMAT_1" | "ISO_FORMAT_3" | "ISO_FORMAT_4")
         | 
| 767 829 | 
             
                  attr_accessor pin_data_length: ::Integer
         | 
| 768 830 | 
             
                  attr_accessor dukpt_attributes: Types::DukptAttributes
         | 
| 769 831 | 
             
                  attr_accessor encryption_wrapped_key: Types::WrappedKey
         | 
| @@ -832,5 +894,12 @@ module Aws::PaymentCryptographyData | |
| 832 894 | 
             
                  class Unknown < WrappedKeyMaterial
         | 
| 833 895 | 
             
                  end
         | 
| 834 896 | 
             
                end
         | 
| 897 | 
            +
             | 
| 898 | 
            +
                class WrappedWorkingKey
         | 
| 899 | 
            +
                  attr_accessor wrapped_key_material: ::String
         | 
| 900 | 
            +
                  attr_accessor key_check_value: ::String
         | 
| 901 | 
            +
                  attr_accessor wrapped_key_material_format: ("KEY_CRYPTOGRAM" | "TR31_KEY_BLOCK" | "TR34_KEY_BLOCK")
         | 
| 902 | 
            +
                  SENSITIVE: [:wrapped_key_material]
         | 
| 903 | 
            +
                end
         | 
| 835 904 | 
             
              end
         | 
| 836 905 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: aws-sdk-paymentcryptographydata
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.42.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Amazon Web Services
         | 
| @@ -18,7 +18,7 @@ dependencies: | |
| 18 18 | 
             
                    version: '3'
         | 
| 19 19 | 
             
                - - ">="
         | 
| 20 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 21 | 
            -
                    version: 3. | 
| 21 | 
            +
                    version: 3.234.0
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 24 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -28,7 +28,7 @@ dependencies: | |
| 28 28 | 
             
                    version: '3'
         | 
| 29 29 | 
             
                - - ">="
         | 
| 30 30 | 
             
                  - !ruby/object:Gem::Version
         | 
| 31 | 
            -
                    version: 3. | 
| 31 | 
            +
                    version: 3.234.0
         | 
| 32 32 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 33 33 | 
             
              name: aws-sigv4
         | 
| 34 34 | 
             
              requirement: !ruby/object:Gem::Requirement
         |