LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
Public Member Functions | List of all members
logicalaccess::SAMCommands< T, S > Class Template Referenceabstract

#include <samcommands.hpp>

Inheritance diagram for logicalaccess::SAMCommands< T, S >:
logicalaccess::Commands logicalaccess::ICommands logicalaccess::SAMISO7816Commands< KeyEntryAV1Information, SETAV1 > logicalaccess::SAMISO7816Commands< KeyEntryAV2Information, SETAV2 > logicalaccess::SAMISO7816Commands< T, S > logicalaccess::SAMAV1ISO7816Commands logicalaccess::SAMAV2ISO7816Commands

Public Member Functions

 SAMCommands ()
 
 SAMCommands (std::string ct)
 
virtual SAMVersion getVersion ()=0
 
virtual std::shared_ptr< SAMKeyEntry< T, S > > getKeyEntry (unsigned char keyno)=0
 
virtual std::shared_ptr< SAMKucEntrygetKUCEntry (unsigned char keyno)=0
 
virtual void changeKeyEntry (unsigned char keyno, std::shared_ptr< SAMKeyEntry< T, S > > keyentry, std::shared_ptr< DESFireKey > key)=0
 
virtual void changeKUCEntry (unsigned char keyno, std::shared_ptr< SAMKucEntry > keyentry, std::shared_ptr< DESFireKey > key)=0
 
virtual void authenticateHost (std::shared_ptr< DESFireKey > key, unsigned char keyno)=0
 
virtual std::string getSAMTypeFromSAM ()=0
 
virtual void disableKeyEntry (unsigned char keyno)=0
 
virtual void selectApplication (ByteVector aid)=0
 
virtual ByteVector dumpSessionKey ()=0
 
virtual void loadInitVector (ByteVector iv)=0
 
virtual ByteVector decipherData (ByteVector data, bool islastdata)=0
 
virtual ByteVector encipherData (ByteVector data, bool islastdata)=0
 
virtual ByteVector changeKeyPICC (const ChangeKeyInfo &info, const ChangeKeyDiversification &diversifycation)=0
 
virtual void lockUnlock (std::shared_ptr< DESFireKey > masterKey, SAMLockUnlock state, unsigned char keyno, unsigned char unlockkeyno, unsigned char unlockkeyversion)=0
 
virtual ByteVector transmit (ByteVector cmd, bool first=true, bool last=true)=0
 
- Public Member Functions inherited from logicalaccess::Commands
 Commands ()=delete
 Constructor.
 
virtual ~Commands ()
 
std::shared_ptr< ChipgetChip () const override
 Get the chip.
 
virtual void setChip (std::shared_ptr< Chip > chip)
 Set the chip.
 
std::shared_ptr< ReaderCardAdaptergetReaderCardAdapter () const override
 Get the reader/card adapter.
 
virtual void setReaderCardAdapter (std::shared_ptr< ReaderCardAdapter > adapter)
 Set the reader/card adapter.
 
virtual const std::string & getCmdType () const
 Get the cmd name.
 
virtual void setCmdType (const std::string &command_type)
 Set the cmd name.
 
- Public Member Functions inherited from logicalaccess::ICommands
virtual ~ICommands ()=default
 
virtual std::shared_ptr< ChipgetChip () const =0
 Get the chip.
 
virtual std::shared_ptr< ReaderCardAdaptergetReaderCardAdapter () const =0
 Get the reader/card adapter.
 

Additional Inherited Members

- Protected Member Functions inherited from logicalaccess::Commands
 Commands (std::string commandtype)
 Constructor.
 
- Protected Attributes inherited from logicalaccess::Commands
std::shared_ptr< ReaderCardAdapterd_readerCardAdapter
 The reader/card adapter.
 
std::weak_ptr< Chipd_chip
 The chip.
 
std::string d_commandtype
 The command type.
 

Constructor & Destructor Documentation

◆ SAMCommands() [1/2]

template<typename T , typename S >
logicalaccess::SAMCommands< T, S >::SAMCommands ( )
inline

◆ SAMCommands() [2/2]

template<typename T , typename S >
logicalaccess::SAMCommands< T, S >::SAMCommands ( std::string  ct)
inlineexplicit

Member Function Documentation

◆ authenticateHost()

template<typename T , typename S >
virtual void logicalaccess::SAMCommands< T, S >::authenticateHost ( std::shared_ptr< DESFireKey key,
unsigned char  keyno 
)
pure virtual

◆ changeKeyEntry()

template<typename T , typename S >
virtual void logicalaccess::SAMCommands< T, S >::changeKeyEntry ( unsigned char  keyno,
std::shared_ptr< SAMKeyEntry< T, S > >  keyentry,
std::shared_ptr< DESFireKey key 
)
pure virtual

◆ changeKeyPICC()

template<typename T , typename S >
virtual ByteVector logicalaccess::SAMCommands< T, S >::changeKeyPICC ( const ChangeKeyInfo info,
const ChangeKeyDiversification diversifycation 
)
pure virtual

◆ changeKUCEntry()

template<typename T , typename S >
virtual void logicalaccess::SAMCommands< T, S >::changeKUCEntry ( unsigned char  keyno,
std::shared_ptr< SAMKucEntry keyentry,
std::shared_ptr< DESFireKey key 
)
pure virtual

◆ decipherData()

template<typename T , typename S >
virtual ByteVector logicalaccess::SAMCommands< T, S >::decipherData ( ByteVector  data,
bool  islastdata 
)
pure virtual

◆ disableKeyEntry()

template<typename T , typename S >
virtual void logicalaccess::SAMCommands< T, S >::disableKeyEntry ( unsigned char  keyno)
pure virtual

◆ dumpSessionKey()

template<typename T , typename S >
virtual ByteVector logicalaccess::SAMCommands< T, S >::dumpSessionKey ( )
pure virtual

◆ encipherData()

template<typename T , typename S >
virtual ByteVector logicalaccess::SAMCommands< T, S >::encipherData ( ByteVector  data,
bool  islastdata 
)
pure virtual

◆ getKeyEntry()

template<typename T , typename S >
virtual std::shared_ptr< SAMKeyEntry< T, S > > logicalaccess::SAMCommands< T, S >::getKeyEntry ( unsigned char  keyno)
pure virtual

◆ getKUCEntry()

template<typename T , typename S >
virtual std::shared_ptr< SAMKucEntry > logicalaccess::SAMCommands< T, S >::getKUCEntry ( unsigned char  keyno)
pure virtual

◆ getSAMTypeFromSAM()

template<typename T , typename S >
virtual std::string logicalaccess::SAMCommands< T, S >::getSAMTypeFromSAM ( )
pure virtual

◆ getVersion()

template<typename T , typename S >
virtual SAMVersion logicalaccess::SAMCommands< T, S >::getVersion ( )
pure virtual

◆ loadInitVector()

template<typename T , typename S >
virtual void logicalaccess::SAMCommands< T, S >::loadInitVector ( ByteVector  iv)
pure virtual

◆ lockUnlock()

template<typename T , typename S >
virtual void logicalaccess::SAMCommands< T, S >::lockUnlock ( std::shared_ptr< DESFireKey masterKey,
SAMLockUnlock  state,
unsigned char  keyno,
unsigned char  unlockkeyno,
unsigned char  unlockkeyversion 
)
pure virtual

◆ selectApplication()

template<typename T , typename S >
virtual void logicalaccess::SAMCommands< T, S >::selectApplication ( ByteVector  aid)
pure virtual

◆ transmit()

template<typename T , typename S >
virtual ByteVector logicalaccess::SAMCommands< T, S >::transmit ( ByteVector  cmd,
bool  first = true,
bool  last = true 
)
pure virtual

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