/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the payment-cryptography-data-2022-02-03.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.PaymentCryptographyData.Model { /// /// Container for the parameters to the ReEncryptData operation. /// Re-encrypt ciphertext using DUKPT, Symmetric and Asymmetric Data Encryption Keys. /// /// /// /// /// You can either generate an encryption key within Amazon Web Services Payment Cryptography /// by calling CreateKey /// or import your own encryption key by calling ImportKey. /// The KeyArn for use with this operation must be in a compatible key state /// with KeyModesOfUse set to Encrypt. In asymmetric encryption, /// ciphertext is encrypted using public component (imported by calling ImportKey) /// of the asymmetric key pair created outside of Amazon Web Services Payment Cryptography. /// /// /// /// /// For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports /// TDES and AES algorithms. For asymmetric encryption, Amazon /// Web Services Payment Cryptography supports RSA. To encrypt using DUKPT, /// a DUKPT key must already exist within your account with KeyModesOfUse /// set to DeriveKey or a new DUKPT can be generated by calling CreateKey. /// /// /// /// For information about valid keys for this operation, see Understanding /// key attributes and Key /// types for specific data operations in the Amazon Web Services Payment Cryptography /// User Guide. /// /// /// /// Cross-account use: This operation can't be used across different Amazon Web /// Services accounts. /// /// /// /// Related operations: /// /// /// public partial class ReEncryptDataRequest : AmazonPaymentCryptographyDataRequest { private string _cipherText; private ReEncryptionAttributes _incomingEncryptionAttributes; private string _incomingKeyIdentifier; private ReEncryptionAttributes _outgoingEncryptionAttributes; private string _outgoingKeyIdentifier; /// /// Gets and sets the property CipherText. /// /// Ciphertext to be encrypted. The minimum allowed length is 16 bytes and maximum allowed /// length is 4096 bytes. /// /// [AWSProperty(Required=true, Sensitive=true, Min=16, Max=4096)] public string CipherText { get { return this._cipherText; } set { this._cipherText = value; } } // Check to see if CipherText property is set internal bool IsSetCipherText() { return this._cipherText != null; } /// /// Gets and sets the property IncomingEncryptionAttributes. /// /// The attributes and values for incoming ciphertext. /// /// [AWSProperty(Required=true)] public ReEncryptionAttributes IncomingEncryptionAttributes { get { return this._incomingEncryptionAttributes; } set { this._incomingEncryptionAttributes = value; } } // Check to see if IncomingEncryptionAttributes property is set internal bool IsSetIncomingEncryptionAttributes() { return this._incomingEncryptionAttributes != null; } /// /// Gets and sets the property IncomingKeyIdentifier. /// /// The keyARN of the encryption key of incoming ciphertext data. /// /// [AWSProperty(Required=true, Min=7, Max=322)] public string IncomingKeyIdentifier { get { return this._incomingKeyIdentifier; } set { this._incomingKeyIdentifier = value; } } // Check to see if IncomingKeyIdentifier property is set internal bool IsSetIncomingKeyIdentifier() { return this._incomingKeyIdentifier != null; } /// /// Gets and sets the property OutgoingEncryptionAttributes. /// /// The attributes and values for outgoing ciphertext data after encryption by Amazon /// Web Services Payment Cryptography. /// /// [AWSProperty(Required=true)] public ReEncryptionAttributes OutgoingEncryptionAttributes { get { return this._outgoingEncryptionAttributes; } set { this._outgoingEncryptionAttributes = value; } } // Check to see if OutgoingEncryptionAttributes property is set internal bool IsSetOutgoingEncryptionAttributes() { return this._outgoingEncryptionAttributes != null; } /// /// Gets and sets the property OutgoingKeyIdentifier. /// /// The keyARN of the encryption key of outgoing ciphertext data after encryption /// by Amazon Web Services Payment Cryptography. /// /// [AWSProperty(Required=true, Min=7, Max=322)] public string OutgoingKeyIdentifier { get { return this._outgoingKeyIdentifier; } set { this._outgoingKeyIdentifier = value; } } // Check to see if OutgoingKeyIdentifier property is set internal bool IsSetOutgoingKeyIdentifier() { return this._outgoingKeyIdentifier != null; } } }