/*
* 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 EncryptData operation.
/// Encrypts plaintext data to ciphertext using symmetric, asymmetric, or DUKPT data encryption
/// key. For more information, see Encrypt
/// data in the Amazon Web Services Payment Cryptography User Guide.
///
///
///
/// You can generate an encryption key within Amazon Web Services Payment Cryptography
/// by calling CreateKey.
/// You can import your own encryption key by calling ImportKey.
/// For this operation, the key must have KeyModesOfUse
set to Encrypt
.
/// In asymmetric encryption, plaintext is encrypted using public component. You can import
/// the public component of an asymmetric key pair created outside Amazon Web Services
/// Payment Cryptography by calling ImportKey).
///
///
///
///
/// 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,
/// you must already have a DUKPT key in your account with KeyModesOfUse
/// set to DeriveKey
, or you can generate a new DUKPT key 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 EncryptDataRequest : AmazonPaymentCryptographyDataRequest
{
private EncryptionDecryptionAttributes _encryptionAttributes;
private string _keyIdentifier;
private string _plainText;
///
/// Gets and sets the property EncryptionAttributes.
///
/// The encryption key type and attributes for plaintext encryption.
///
///
[AWSProperty(Required=true)]
public EncryptionDecryptionAttributes EncryptionAttributes
{
get { return this._encryptionAttributes; }
set { this._encryptionAttributes = value; }
}
// Check to see if EncryptionAttributes property is set
internal bool IsSetEncryptionAttributes()
{
return this._encryptionAttributes != null;
}
///
/// Gets and sets the property KeyIdentifier.
///
/// The keyARN
of the encryption key that Amazon Web Services Payment Cryptography
/// uses for plaintext encryption.
///
///
[AWSProperty(Required=true, Min=7, Max=322)]
public string KeyIdentifier
{
get { return this._keyIdentifier; }
set { this._keyIdentifier = value; }
}
// Check to see if KeyIdentifier property is set
internal bool IsSetKeyIdentifier()
{
return this._keyIdentifier != null;
}
///
/// Gets and sets the property PlainText.
///
/// The plaintext to be encrypted.
///
///
[AWSProperty(Required=true, Sensitive=true, Min=16, Max=4064)]
public string PlainText
{
get { return this._plainText; }
set { this._plainText = value; }
}
// Check to see if PlainText property is set
internal bool IsSetPlainText()
{
return this._plainText != null;
}
}
}