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::SymmetricCryptoSecuritySetting Class Referenceabstract

#include <SymmetricCryptoSecuritySetting.hpp>

Public Member Functions

virtual SymmetricCryptoSecuritySettingenableMultipleSession ()=0
 
virtual SymmetricCryptoSecuritySettingenableRatificationMechanism ()=0
 
virtual SymmetricCryptoSecuritySettingenablePinPlainTransmission ()=0
 
virtual SymmetricCryptoSecuritySettingenableSvLoadAndDebitLog ()=0
 
virtual SymmetricCryptoSecuritySettingauthorizeSvNegativeBalance ()=0
 
virtual SymmetricCryptoSecuritySettingdisableReadOnSessionOpening ()=0
 
virtual SymmetricCryptoSecuritySettingassignKif (const WriteAccessLevel writeAccessLevel, const uint8_t kvc, const uint8_t kif)=0
 
virtual SymmetricCryptoSecuritySettingassignDefaultKif (const WriteAccessLevel writeAccessLevel, const uint8_t kif)=0
 
virtual SymmetricCryptoSecuritySettingassignDefaultKvc (const WriteAccessLevel writeAccessLevel, const uint8_t kvc)=0
 
virtual SymmetricCryptoSecuritySettingaddAuthorizedSessionKey (const uint8_t kif, const uint8_t kvc)=0
 
virtual SymmetricCryptoSecuritySettingaddAuthorizedSvKey (const uint8_t kif, const uint8_t kvc)=0
 
virtual SymmetricCryptoSecuritySettingsetPinVerificationCipheringKey (const uint8_t kif, const uint8_t kvc)=0
 
virtual SymmetricCryptoSecuritySettingsetPinModificationCipheringKey (const uint8_t kif, const uint8_t kvc)=0
 
virtual void initCryptoContextForNextTransaction ()=0
 

Detailed Description

Security setting for a Calypso card transaction secured by "symmetric" key cryptographic algorithms (e.g. SAM).

An instance of this interface can be obtained via the method SymmetricCryptoCardTransactionManagerFactory).

Since
2.0.0

Definition at line 31 of file SymmetricCryptoSecuritySetting.hpp.

Member Function Documentation

◆ addAuthorizedSessionKey()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::addAuthorizedSessionKey ( const uint8_t  kif,
const uint8_t  kvc 
)
pure virtual

Adds an authorized session key defined by its KIF and KVC values.

By default, all keys are accepted.
If at least one key is added using this method, then only authorized keys will be accepted.

Parameters
kifThe KIF value.
kvcThe KVC value.
Returns
The current instance.
Since
1.0.0

◆ addAuthorizedSvKey()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::addAuthorizedSvKey ( const uint8_t  kif,
const uint8_t  kvc 
)
pure virtual

Adds an authorized Stored Value key defined by its KIF and KVC values.

By default, all keys are accepted.
If at least one key is added using this method, then only authorized keys will be accepted.

Parameters
kifThe KIF value.
kvcThe KVC value.
Returns
The current instance.
Since
1.0.0

◆ assignDefaultKif()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::assignDefaultKif ( const WriteAccessLevel  writeAccessLevel,
const uint8_t  kif 
)
pure virtual

Defines for a given write access level the default KIF value to use when it could not be determined by any other means.

Parameters
writeAccessLevelThe write access level.
kifThe KIF value to use.
Returns
The current instance.
Exceptions
IllegalArgumentExceptionIf the provided writeAccessLevel is null.
Since
1.0.0

◆ assignDefaultKvc()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::assignDefaultKvc ( const WriteAccessLevel  writeAccessLevel,
const uint8_t  kvc 
)
pure virtual

Defines for a given write access level the KVC value to use for cards that do not provide KVC.

Parameters
writeAccessLevelThe session level.
kvcThe KVC to use.
Returns
The current instance.
Exceptions
IllegalArgumentExceptionIf the provided writeAccessLevel is null.
Since
1.0.0

◆ assignKif()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::assignKif ( const WriteAccessLevel  writeAccessLevel,
const uint8_t  kvc,
const uint8_t  kif 
)
pure virtual

Defines for a given write access level the KIF value to use for cards that only provide KVC.

Parameters
writeAccessLevelThe write access level.
kvcThe card's KVC value.
kifThe KIF value to use.
Returns
The current instance.
Exceptions
IllegalArgumentExceptionIf the provided writeAccessLevel is null.
Since
1.0.0

◆ authorizeSvNegativeBalance()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::authorizeSvNegativeBalance ( )
pure virtual

Allows the SV balance to become negative.

The default value is false.

Returns
The current instance.
Since
1.0.0

◆ disableReadOnSessionOpening()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::disableReadOnSessionOpening ( )
pure virtual

Disables the automatic merging of the "Open Secure Session" command with a possible "Read Record" command.

By default, this optimization is performed when the command that follows the session opening is a "Read Record" command.

This mechanism may in some cases be incompatible with the security requirements.

Returns
The current instance.
Since
1.6.0

◆ enableMultipleSession()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::enableMultipleSession ( )
pure virtual

Enables multiple session mode to allow more changes to the card than the session buffer can handle.

Returns
The current instance.
Since
1.0.0

◆ enablePinPlainTransmission()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::enablePinPlainTransmission ( )
pure virtual

Enables the PIN transmission in plain text.

Returns
The current instance.
Since
1.0.0

◆ enableRatificationMechanism()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::enableRatificationMechanism ( )
pure virtual

Enables the ratification mechanism to handle the early removal of the card preventing the terminal from receiving the acknowledgement of the session closing.

Returns
The current instance.
Since
1.0.0

◆ enableSvLoadAndDebitLog()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::enableSvLoadAndDebitLog ( )
pure virtual

Enables the retrieval of both loading and debit log records.

The default value is false.

Returns
The current instance.
Since
1.0.0

◆ initCryptoContextForNextTransaction()

virtual void keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::initCryptoContextForNextTransaction ( )
pure virtual

Prepares the cryptographic module for the next transaction by anticipating all security context configuration operations.

This feature is only useful if the currently allocated cryptographic module will be used for the next transaction. It is particularly relevant to optimize the transaction time in a ticketing context of user card validation.

For this optimization to be effective, it is necessary to call this method at the very end of the current transaction, i.e. after having notified the user of the access right (e.g. after opening the gate).

Exceptions
CryptoExceptionIf an error occurred when computing a crypto operation.
CryptoIOExceptionIf a communication error with the crypto module (e.g. timeout with the reader or the computing unit, network error, etc.).
Since
2.0.0

◆ setPinModificationCipheringKey()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::setPinModificationCipheringKey ( const uint8_t  kif,
const uint8_t  kvc 
)
pure virtual

Sets the KIF/KVC pair of the PIN modification ciphering key.

The default value for both KIF and KVC is 0.

Parameters
kifThe KIF value.
kvcThe KVC value.
Returns
The current instance.
Since
1.0.0

◆ setPinVerificationCipheringKey()

virtual SymmetricCryptoSecuritySetting & keypop::calypso::card::transaction::SymmetricCryptoSecuritySetting::setPinVerificationCipheringKey ( const uint8_t  kif,
const uint8_t  kvc 
)
pure virtual

Sets the KIF/KVC pair of the PIN verification ciphering key.

The default value for both KIF and KVC is 0.

Parameters
kifThe KIF value.
kvcThe KVC value.
Returns
The current instance.
Since
1.0.0

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