Keypop Calypso Card C++ API 2.0.0
Reference Calypso Card API for C++
Public Member Functions | List of all members
keypop::calypso::card::transaction::SecureExtendedModeTransactionManager< T > Class Template Referenceabstract

#include <SecureExtendedModeTransactionManager.hpp>

Inheritance diagram for keypop::calypso::card::transaction::SecureExtendedModeTransactionManager< T >:
Inheritance graph
[legend]
Collaboration diagram for keypop::calypso::card::transaction::SecureExtendedModeTransactionManager< T >:
Collaboration graph
[legend]

Public Member Functions

virtual SecureExtendedModeTransactionManagerprepareEarlyMutualAuthentication ()=0
 
virtual SecureExtendedModeTransactionManagerprepareActivateEncryption ()=0
 
virtual SecureExtendedModeTransactionManagerprepareDeactivateEncryption ()=0
 
- Public Member Functions inherited from keypop::calypso::card::transaction::SecureSymmetricCryptoTransactionManager< T >
virtual T & prepareOpenSecureSession (const WriteAccessLevel writeAccessLevel)=0
 
virtual T & prepareSvGet (const SvOperation svOperation, const SvAction svAction)=0
 
virtual T & prepareSvReload (const int amount, const std::vector< uint8_t > &date, const std::vector< uint8_t > &time, const std::vector< uint8_t > &free)=0
 
virtual T & prepareSvReload (const int amount)=0
 
virtual T & prepareSvDebit (const int amount, const std::vector< uint8_t > &date, const std::vector< uint8_t > &time)=0
 
virtual T & prepareSvDebit (const int amount)=0
 
virtual T & prepareInvalidate ()=0
 
virtual T & prepareRehabilitate ()=0
 
virtual T & prepareChangeKey (const int keyIndex, const uint8_t newKif, const uint8_t newKvc, const uint8_t issuerKif, const uint8_t issuerKvc)=0
 
- Public Member Functions inherited from keypop::calypso::card::transaction::SecureTransactionManager< T >
virtual std::shared_ptr< CardTransactionCryptoExtension > getCryptoExtension (const std::type_info &cryptoExtensionClass)=0
 
virtual SecureTransactionManagerprepareCloseSecureSession ()=0
 
virtual SecureTransactionManagerprepareCancelSecureSession ()=0
 

Detailed Description

template<typename T>
class keypop::calypso::card::transaction::SecureExtendedModeTransactionManager< T >

Manager of card transactions secured by symmetric key cryptographic algorithms, adding additional operations available only for "Calypso Prime Extended" products.

See SecureSymmetricCryptoTransactionManager parent interface for more information and details of available card operations.

An instance of this interface can be obtained via the method CalypsoCard, SymmetricCryptoSecuritySetting).

Since
2.0.0

Definition at line 34 of file SecureExtendedModeTransactionManager.hpp.

Member Function Documentation

◆ prepareActivateEncryption()

template<typename T >
virtual SecureExtendedModeTransactionManager & keypop::calypso::card::transaction::SecureExtendedModeTransactionManager< T >::prepareActivateEncryption ( )
pure virtual

Requests the encryption of all following commands.

This ensures data confidentiality and prevents man-in-the-middle attacks.

The use of data encryption is resource intensive and increases transaction times. It is therefore recommended to limit encryption to commands that require it.

Furthermore, if mutual authentication is also required, for performance reasons, it is advised to place the prepareEarlyMutualAuthentication and prepareActivateEncryption calls consecutively (in any order) for optimization purpose.

This command only makes sense in the context of a secure session.

Returns
The current instance.
Exceptions
UnsupportedOperationExceptionThe "Manage Secure Session" command is not available for this context (Card and/or cryptographic module does not support the extended mode).
See also
SecureExtendedModeTransactionManager::prepareDeactivateEncryption()
SecureExtendedModeTransactionManager::prepareEarlyMutualAuthentication()
Since
1.5.0

◆ prepareDeactivateEncryption()

template<typename T >
virtual SecureExtendedModeTransactionManager & keypop::calypso::card::transaction::SecureExtendedModeTransactionManager< T >::prepareDeactivateEncryption ( )
pure virtual

Requests to stop encryption for the following commands.

This restores the exchange operations with the card to its normal mode.

This command only makes sense in the context of a secure session in which encryption of commands has been previously requested.

Note: the SecureTransactionManager#prepareCloseSecureSession() ()} method automatically stops the encryption.

Returns
The current instance.
Exceptions
UnsupportedOperationExceptionThe "Manage Secure Session" command is not available for this context (Card and/or cryptographic module does not support the extended mode).
See also
SecureExtendedModeTransactionManager::prepareActivateEncryption()
SecureExtendedModeTransactionManager::prepareEarlyMutualAuthentication()
SecureTransactionManager::prepareCloseSecureSession()
Since
1.5.0

◆ prepareEarlyMutualAuthentication()

template<typename T >
virtual SecureExtendedModeTransactionManager & keypop::calypso::card::transaction::SecureExtendedModeTransactionManager< T >::prepareEarlyMutualAuthentication ( )
pure virtual

Requests to mutually authenticate the card and the terminal before the secure session is closed.

This ensures the authenticity of the card before sending sensitive commands.

The use of this feature will penalize the execution time of the secure session and should therefore be used only for the case mentioned above. As a reminder, closing the secure session also performs a mutual authentication of the card and the terminal.

When it is needed, it is advised to use this command only once at the beginning of the secure session.

Returns
The current instance.
Exceptions
UnsupportedOperationExceptionThe "Manage Secure Session" command is not available for this context (Card and/or CRYPTOGRAPHIC MODULE does not support the extended mode).
See also
SecureExtendedModeTransactionManager::prepareActivateEncryption()
SecureExtendedModeTransactionManager::prepareDeactivateEncryption()
Since
1.5.0

The documentation for this class was generated from the following file: