20#include "keypop/reader/CardReader.hpp"
21#include "keypop/reader/selection/spi/CardSelectionExtension.hpp"
29using keypop::calypso::crypto::legacysam::spi::
30 LegacySamDynamicUnlockDataProviderSpi;
31using keypop::calypso::crypto::legacysam::spi::
32 LegacySamStaticUnlockDataProviderSpi;
33using keypop::reader::CardReader;
34using keypop::reader::selection::spi::CardSelectionExtension;
137 const std::shared_ptr<LegacySamStaticUnlockDataProviderSpi>
138 staticUnlockDataProvider)
163 const std::shared_ptr<LegacySamStaticUnlockDataProviderSpi>
164 staticUnlockDataProvider,
165 const std::shared_ptr<CardReader> targetSamReader)
189 const std::shared_ptr<LegacySamDynamicUnlockDataProviderSpi>
190 dynamicUnlockDataProvider)
215 const std::shared_ptr<LegacySamDynamicUnlockDataProviderSpi>
216 dynamicUnlockDataProvider,
217 const std::shared_ptr<CardReader> targetSamReader)
ProductType
All Calypso SAM products supported by this API.
Extends the CardSelectionExtension interface of the "Keypop Reader API" to provide means to define op...
virtual LegacySamSelectionExtension & setUnlockData(const std::string &unlockData, const LegacySam::ProductType productType)=0
Sets the unlock data to be used to unlock a SAM (8 or 16 bytes) and schedules the execution of the "U...
virtual LegacySamSelectionExtension & prepareGetData(GetDataTag tag)=0
Schedules the execution of a "Get Data" command for the specified tag.
virtual LegacySamSelectionExtension & prepareReadWorkKeyParameters(const int recordNumber)=0
Schedules the execution of a "Read Key Parameters" command for a work key referenced by its record nu...
virtual LegacySamSelectionExtension & setDynamicUnlockDataProvider(const std::shared_ptr< LegacySamDynamicUnlockDataProviderSpi > dynamicUnlockDataProvider)=0
Sets the unlock data provider to use for unlocking the SAM in dynamic mode.
virtual LegacySamSelectionExtension & setStaticUnlockDataProvider(const std::shared_ptr< LegacySamStaticUnlockDataProviderSpi > staticUnlockDataProvider, const std::shared_ptr< CardReader > targetSamReader)=0
Sets the unlock data provider and the card reader to use for unlocking the SAM in static mode.
virtual LegacySamSelectionExtension & setStaticUnlockDataProvider(const std::shared_ptr< LegacySamStaticUnlockDataProviderSpi > staticUnlockDataProvider)=0
Sets the unlock data provider to use for unlocking the SAM in static mode.
virtual LegacySamSelectionExtension & prepareReadSystemKeyParameters(const SystemKeyType systemKeyType)=0
Schedules the execution of a "Read Key Parameters" command for a system key.
virtual LegacySamSelectionExtension & setDynamicUnlockDataProvider(const std::shared_ptr< LegacySamDynamicUnlockDataProviderSpi > dynamicUnlockDataProvider, const std::shared_ptr< CardReader > targetSamReader)=0
Sets the unlock data provider and the card reader to use for unlocking the SAM in dynamic mode.
virtual LegacySamSelectionExtension & prepareReadAllCountersStatus()=0
Schedules the execution of a "Read Event Counter" and "Read Ceiling" commands to read the status of a...
virtual LegacySamSelectionExtension & prepareReadWorkKeyParameters(const uint8_t kif, const uint8_t kvc)=0
Schedules the execution of a "Read Key Parameters" command for a work key referenced by its KIF and K...
virtual LegacySamSelectionExtension & prepareReadCounterStatus(int counterNumber)=0
Schedules the execution of a "Read Event Counter" and "Read Ceiling" commands to read the status of a...
virtual LegacySamSelectionExtension & setUnlockData(const std::string &unlockData)=0
Sets the unlock data to be used to unlock a SAM C1 (8 or 16 bytes) and schedules the execution of the...
virtual LegacySamSelectionExtension & prepareReadSamParameters()=0
Schedules the execution of a "Read Parameters" command for the SAM.
GetDataTag
Enumeration of all output data tags.
SystemKeyType
Enumeration of the system key types of a Legacy Sam.