pub struct DecryptDataFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to DecryptData
.
Decrypts ciphertext data to plaintext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Decrypt data in the Amazon Web Services Payment Cryptography User Guide.
You can use an decryption key generated within Amazon Web Services Payment Cryptography, or you can import your own decryption key by calling ImportKey. For this operation, the key must have KeyModesOfUse
set to Decrypt
. In asymmetric decryption, Amazon Web Services Payment Cryptography decrypts the ciphertext using the private component of the asymmetric encryption key pair. For data encryption outside of Amazon Web Services Payment Cryptography, you can export the public component of the asymmetric key pair by calling GetPublicCertificate.
This operation also supports dynamic keys, allowing you to pass a dynamic decryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To decrypt using dynamic keys, the keyARN
is the Key Encryption Key (KEK) of the TR-31 wrapped decryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.
For symmetric and DUKPT decryption, Amazon Web Services Payment Cryptography supports TDES
and AES
algorithms. For EMV decryption, Amazon Web Services Payment Cryptography supports TDES
algorithms. For asymmetric decryption, Amazon Web Services Payment Cryptography supports RSA
.
When you use TDES or TDES DUKPT, the ciphertext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the ciphertext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.
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:
-
EncryptData
Implementations§
Source§impl DecryptDataFluentBuilder
impl DecryptDataFluentBuilder
Sourcepub fn as_input(&self) -> &DecryptDataInputBuilder
pub fn as_input(&self) -> &DecryptDataInputBuilder
Access the DecryptData as a reference.
Sourcepub async fn send(
self,
) -> Result<DecryptDataOutput, SdkError<DecryptDataError, HttpResponse>>
pub async fn send( self, ) -> Result<DecryptDataOutput, SdkError<DecryptDataError, 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<DecryptDataOutput, DecryptDataError, Self>
pub fn customize( self, ) -> CustomizableOperation<DecryptDataOutput, DecryptDataError, 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 ciphertext decryption.
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 ciphertext decryption.
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 ciphertext decryption.
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 cipher_text(self, input: impl Into<String>) -> Self
pub fn cipher_text(self, input: impl Into<String>) -> Self
The ciphertext to decrypt.
Sourcepub fn set_cipher_text(self, input: Option<String>) -> Self
pub fn set_cipher_text(self, input: Option<String>) -> Self
The ciphertext to decrypt.
Sourcepub fn get_cipher_text(&self) -> &Option<String>
pub fn get_cipher_text(&self) -> &Option<String>
The ciphertext to decrypt.
Sourcepub fn decryption_attributes(
self,
input: EncryptionDecryptionAttributes,
) -> Self
pub fn decryption_attributes( self, input: EncryptionDecryptionAttributes, ) -> Self
The encryption key type and attributes for ciphertext decryption.
Sourcepub fn set_decryption_attributes(
self,
input: Option<EncryptionDecryptionAttributes>,
) -> Self
pub fn set_decryption_attributes( self, input: Option<EncryptionDecryptionAttributes>, ) -> Self
The encryption key type and attributes for ciphertext decryption.
Sourcepub fn get_decryption_attributes(
&self,
) -> &Option<EncryptionDecryptionAttributes>
pub fn get_decryption_attributes( &self, ) -> &Option<EncryptionDecryptionAttributes>
The encryption key type and attributes for ciphertext decryption.
Sourcepub fn wrapped_key(self, input: WrappedKey) -> Self
pub fn wrapped_key(self, input: WrappedKey) -> Self
The WrappedKeyBlock containing the encryption key for ciphertext decryption.
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 ciphertext decryption.
Sourcepub fn get_wrapped_key(&self) -> &Option<WrappedKey>
pub fn get_wrapped_key(&self) -> &Option<WrappedKey>
The WrappedKeyBlock containing the encryption key for ciphertext decryption.
Trait Implementations§
Source§impl Clone for DecryptDataFluentBuilder
impl Clone for DecryptDataFluentBuilder
Source§fn clone(&self) -> DecryptDataFluentBuilder
fn clone(&self) -> DecryptDataFluentBuilder
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 DecryptDataFluentBuilder
impl !RefUnwindSafe for DecryptDataFluentBuilder
impl Send for DecryptDataFluentBuilder
impl Sync for DecryptDataFluentBuilder
impl Unpin for DecryptDataFluentBuilder
impl !UnwindSafe for DecryptDataFluentBuilder
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§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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);