/*
* 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;
}
}
}