pub struct GenerateMacEmvPinChangeFluentBuilder { /* private fields */ }Expand description
Fluent builder constructing a request to GenerateMacEmvPinChange.
Generates an issuer script mac for EMV payment cards that use offline PINs as the cardholder verification method (CVM).
This operation generates an authenticated issuer script response by appending the incoming message data (APDU command) with the target encrypted PIN block in ISO2 format. The command structure and method to send the issuer script update to the card is not defined by this operation and is typically determined by the applicable payment card scheme.
The primary inputs to this operation include the incoming new encrypted pinblock, PIN encryption key (PEK), issuer master key (IMK), primary account number (PAN), and the payment card derivation method.
The operation uses two issuer master keys - secure messaging for confidentiality (IMK-SMC) and secure messaging for integrity (IMK-SMI). The SMC key is used to internally derive a key to secure the pin, while SMI key is used to internally derive a key to authenticate the script reponse as per the EMV 4.4 - Book 2 - Security and Key Management specification.
This operation supports Amex, EMV2000, EMVCommon, Mastercard and Visa derivation methods, each requiring specific input parameters. Users must follow the specific derivation method and input parameters defined by the respective payment card scheme.
Use GenerateMac operation when sending a script update to an EMV card that does not involve PIN change. When assigning IAM permissions, it is important to understand that EncryptData using EMV keys and GenerateMac perform similar functions to this command.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
-
EncryptData -
GenerateMac
Implementations§
Source§impl GenerateMacEmvPinChangeFluentBuilder
impl GenerateMacEmvPinChangeFluentBuilder
Sourcepub fn as_input(&self) -> &GenerateMacEmvPinChangeInputBuilder
pub fn as_input(&self) -> &GenerateMacEmvPinChangeInputBuilder
Access the GenerateMacEmvPinChange as a reference.
Sourcepub async fn send(
self,
) -> Result<GenerateMacEmvPinChangeOutput, SdkError<GenerateMacEmvPinChangeError, HttpResponse>>
pub async fn send( self, ) -> Result<GenerateMacEmvPinChangeOutput, SdkError<GenerateMacEmvPinChangeError, 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<GenerateMacEmvPinChangeOutput, GenerateMacEmvPinChangeError, Self>
pub fn customize( self, ) -> CustomizableOperation<GenerateMacEmvPinChangeOutput, GenerateMacEmvPinChangeError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
Sourcepub fn new_pin_pek_identifier(self, input: impl Into<String>) -> Self
pub fn new_pin_pek_identifier(self, input: impl Into<String>) -> Self
The keyARN of the PEK protecting the incoming new encrypted PIN block.
Sourcepub fn set_new_pin_pek_identifier(self, input: Option<String>) -> Self
pub fn set_new_pin_pek_identifier(self, input: Option<String>) -> Self
The keyARN of the PEK protecting the incoming new encrypted PIN block.
Sourcepub fn get_new_pin_pek_identifier(&self) -> &Option<String>
pub fn get_new_pin_pek_identifier(&self) -> &Option<String>
The keyARN of the PEK protecting the incoming new encrypted PIN block.
Sourcepub fn new_encrypted_pin_block(self, input: impl Into<String>) -> Self
pub fn new_encrypted_pin_block(self, input: impl Into<String>) -> Self
The incoming new encrypted PIN block data for offline pin change on an EMV card.
Sourcepub fn set_new_encrypted_pin_block(self, input: Option<String>) -> Self
pub fn set_new_encrypted_pin_block(self, input: Option<String>) -> Self
The incoming new encrypted PIN block data for offline pin change on an EMV card.
Sourcepub fn get_new_encrypted_pin_block(&self) -> &Option<String>
pub fn get_new_encrypted_pin_block(&self) -> &Option<String>
The incoming new encrypted PIN block data for offline pin change on an EMV card.
Sourcepub fn pin_block_format(self, input: PinBlockFormatForEmvPinChange) -> Self
pub fn pin_block_format(self, input: PinBlockFormatForEmvPinChange) -> Self
The PIN encoding format of the incoming new encrypted PIN block as specified in ISO 9564.
Sourcepub fn set_pin_block_format(
self,
input: Option<PinBlockFormatForEmvPinChange>,
) -> Self
pub fn set_pin_block_format( self, input: Option<PinBlockFormatForEmvPinChange>, ) -> Self
The PIN encoding format of the incoming new encrypted PIN block as specified in ISO 9564.
Sourcepub fn get_pin_block_format(&self) -> &Option<PinBlockFormatForEmvPinChange>
pub fn get_pin_block_format(&self) -> &Option<PinBlockFormatForEmvPinChange>
The PIN encoding format of the incoming new encrypted PIN block as specified in ISO 9564.
Sourcepub fn secure_messaging_integrity_key_identifier(
self,
input: impl Into<String>,
) -> Self
pub fn secure_messaging_integrity_key_identifier( self, input: impl Into<String>, ) -> Self
The keyARN of the issuer master key (IMK-SMI) used to authenticate the issuer script response.
Sourcepub fn set_secure_messaging_integrity_key_identifier(
self,
input: Option<String>,
) -> Self
pub fn set_secure_messaging_integrity_key_identifier( self, input: Option<String>, ) -> Self
The keyARN of the issuer master key (IMK-SMI) used to authenticate the issuer script response.
Sourcepub fn get_secure_messaging_integrity_key_identifier(&self) -> &Option<String>
pub fn get_secure_messaging_integrity_key_identifier(&self) -> &Option<String>
The keyARN of the issuer master key (IMK-SMI) used to authenticate the issuer script response.
Sourcepub fn secure_messaging_confidentiality_key_identifier(
self,
input: impl Into<String>,
) -> Self
pub fn secure_messaging_confidentiality_key_identifier( self, input: impl Into<String>, ) -> Self
The keyARN of the issuer master key (IMK-SMC) used to protect the PIN block data in the issuer script response.
Sourcepub fn set_secure_messaging_confidentiality_key_identifier(
self,
input: Option<String>,
) -> Self
pub fn set_secure_messaging_confidentiality_key_identifier( self, input: Option<String>, ) -> Self
The keyARN of the issuer master key (IMK-SMC) used to protect the PIN block data in the issuer script response.
Sourcepub fn get_secure_messaging_confidentiality_key_identifier(
&self,
) -> &Option<String>
pub fn get_secure_messaging_confidentiality_key_identifier( &self, ) -> &Option<String>
The keyARN of the issuer master key (IMK-SMC) used to protect the PIN block data in the issuer script response.
Sourcepub fn message_data(self, input: impl Into<String>) -> Self
pub fn message_data(self, input: impl Into<String>) -> Self
The message data is the APDU command from the card reader or terminal. The target encrypted PIN block, after translation to ISO2 format, is appended to this message data to generate an issuer script response.
Sourcepub fn set_message_data(self, input: Option<String>) -> Self
pub fn set_message_data(self, input: Option<String>) -> Self
The message data is the APDU command from the card reader or terminal. The target encrypted PIN block, after translation to ISO2 format, is appended to this message data to generate an issuer script response.
Sourcepub fn get_message_data(&self) -> &Option<String>
pub fn get_message_data(&self) -> &Option<String>
The message data is the APDU command from the card reader or terminal. The target encrypted PIN block, after translation to ISO2 format, is appended to this message data to generate an issuer script response.
Sourcepub fn derivation_method_attributes(
self,
input: DerivationMethodAttributes,
) -> Self
pub fn derivation_method_attributes( self, input: DerivationMethodAttributes, ) -> Self
The attributes and data values to derive payment card specific confidentiality and integrity keys.
Sourcepub fn set_derivation_method_attributes(
self,
input: Option<DerivationMethodAttributes>,
) -> Self
pub fn set_derivation_method_attributes( self, input: Option<DerivationMethodAttributes>, ) -> Self
The attributes and data values to derive payment card specific confidentiality and integrity keys.
Sourcepub fn get_derivation_method_attributes(
&self,
) -> &Option<DerivationMethodAttributes>
pub fn get_derivation_method_attributes( &self, ) -> &Option<DerivationMethodAttributes>
The attributes and data values to derive payment card specific confidentiality and integrity keys.
Trait Implementations§
Source§impl Clone for GenerateMacEmvPinChangeFluentBuilder
impl Clone for GenerateMacEmvPinChangeFluentBuilder
Source§fn clone(&self) -> GenerateMacEmvPinChangeFluentBuilder
fn clone(&self) -> GenerateMacEmvPinChangeFluentBuilder
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 GenerateMacEmvPinChangeFluentBuilder
impl !RefUnwindSafe for GenerateMacEmvPinChangeFluentBuilder
impl Send for GenerateMacEmvPinChangeFluentBuilder
impl Sync for GenerateMacEmvPinChangeFluentBuilder
impl Unpin for GenerateMacEmvPinChangeFluentBuilder
impl !UnwindSafe for GenerateMacEmvPinChangeFluentBuilder
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);