Struct aws_sdk_paymentcryptographydata::operation::encrypt_data::builders::EncryptDataFluentBuilder
source · pub struct EncryptDataFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to EncryptData
.
Encrypts plaintext data to ciphertext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. 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 EMV encryption, Amazon Web Services Payment Cryptography supports TDES
algorithms.For asymmetric encryption, Amazon Web Services Payment Cryptography supports RSA
.
When you use TDES or TDES DUKPT, the plaintext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the plaintext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.
To encrypt using DUKPT, you must already have a BDK (Base Derivation Key) key in your account with KeyModesOfUse
set to DeriveKey
, or you can generate a new DUKPT key by calling CreateKey. To encrypt using EMV, you must already have an IMK (Issuer Master Key) key in your account with KeyModesOfUse
set to DeriveKey
.
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:
-
DecryptData
-
ReEncryptData
Implementations§
source§impl EncryptDataFluentBuilder
impl EncryptDataFluentBuilder
sourcepub fn as_input(&self) -> &EncryptDataInputBuilder
pub fn as_input(&self) -> &EncryptDataInputBuilder
Access the EncryptData as a reference.
sourcepub async fn send(
self,
) -> Result<EncryptDataOutput, SdkError<EncryptDataError, HttpResponse>>
pub async fn send( self, ) -> Result<EncryptDataOutput, SdkError<EncryptDataError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
sourcepub fn customize(
self,
) -> CustomizableOperation<EncryptDataOutput, EncryptDataError, Self>
pub fn customize( self, ) -> CustomizableOperation<EncryptDataOutput, EncryptDataError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
sourcepub fn key_identifier(self, input: impl Into<String>) -> Self
pub fn key_identifier(self, input: impl Into<String>) -> Self
The keyARN
of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.
sourcepub fn set_key_identifier(self, input: Option<String>) -> Self
pub fn set_key_identifier(self, input: Option<String>) -> Self
The keyARN
of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.
sourcepub fn get_key_identifier(&self) -> &Option<String>
pub fn get_key_identifier(&self) -> &Option<String>
The keyARN
of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.
When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.
sourcepub fn plain_text(self, input: impl Into<String>) -> Self
pub fn plain_text(self, input: impl Into<String>) -> Self
The plaintext to be encrypted.
For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm
and padding type that you define in AsymmetricEncryptionAttributes
. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.
sourcepub fn set_plain_text(self, input: Option<String>) -> Self
pub fn set_plain_text(self, input: Option<String>) -> Self
The plaintext to be encrypted.
For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm
and padding type that you define in AsymmetricEncryptionAttributes
. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.
sourcepub fn get_plain_text(&self) -> &Option<String>
pub fn get_plain_text(&self) -> &Option<String>
The plaintext to be encrypted.
For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm
and padding type that you define in AsymmetricEncryptionAttributes
. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.
sourcepub fn encryption_attributes(
self,
input: EncryptionDecryptionAttributes,
) -> Self
pub fn encryption_attributes( self, input: EncryptionDecryptionAttributes, ) -> Self
The encryption key type and attributes for plaintext encryption.
sourcepub fn set_encryption_attributes(
self,
input: Option<EncryptionDecryptionAttributes>,
) -> Self
pub fn set_encryption_attributes( self, input: Option<EncryptionDecryptionAttributes>, ) -> Self
The encryption key type and attributes for plaintext encryption.
sourcepub fn get_encryption_attributes(
&self,
) -> &Option<EncryptionDecryptionAttributes>
pub fn get_encryption_attributes( &self, ) -> &Option<EncryptionDecryptionAttributes>
The encryption key type and attributes for plaintext encryption.
sourcepub fn wrapped_key(self, input: WrappedKey) -> Self
pub fn wrapped_key(self, input: WrappedKey) -> Self
The WrappedKeyBlock containing the encryption key for plaintext encryption.
sourcepub fn set_wrapped_key(self, input: Option<WrappedKey>) -> Self
pub fn set_wrapped_key(self, input: Option<WrappedKey>) -> Self
The WrappedKeyBlock containing the encryption key for plaintext encryption.
sourcepub fn get_wrapped_key(&self) -> &Option<WrappedKey>
pub fn get_wrapped_key(&self) -> &Option<WrappedKey>
The WrappedKeyBlock containing the encryption key for plaintext encryption.
Trait Implementations§
source§impl Clone for EncryptDataFluentBuilder
impl Clone for EncryptDataFluentBuilder
source§fn clone(&self) -> EncryptDataFluentBuilder
fn clone(&self) -> EncryptDataFluentBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for EncryptDataFluentBuilder
impl !RefUnwindSafe for EncryptDataFluentBuilder
impl Send for EncryptDataFluentBuilder
impl Sync for EncryptDataFluentBuilder
impl Unpin for EncryptDataFluentBuilder
impl !UnwindSafe for EncryptDataFluentBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more