LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
logicalaccess::ISO7816ReaderCardAdapter Class Reference

A default ISO7816 reader/card adapter class. More...

#include <iso7816readercardadapter.hpp>

Inheritance diagram for logicalaccess::ISO7816ReaderCardAdapter:
logicalaccess::ReaderCardAdapter logicalaccess::ISO7816FuzzingReaderCardAdapter logicalaccess::ISO7816OK5553ReaderCardAdapter logicalaccess::LibUSBReaderCardAdapter logicalaccess::OSDPReaderCardAdapter logicalaccess::PCSCReaderCardAdapter logicalaccess::STidSTRReaderCardAdapter

Public Member Functions

virtual ISO7816Response sendAPDUCommand (const ByteVector &data)
 Send an APDU command to the reader.
 
virtual ISO7816Response sendAPDUCommand (unsigned char cla, unsigned char ins, unsigned char p1, unsigned char p2, unsigned char lc, const ByteVector &data, unsigned char le)
 Send an APDU command to the reader.
 
virtual ISO7816Response sendAPDUCommand (unsigned char cla, unsigned char ins, unsigned char p1, unsigned char p2, unsigned char lc, const ByteVector &data)
 Send an APDU command to the reader.
 
virtual ISO7816Response sendAPDUCommand (unsigned char cla, unsigned char ins, unsigned char p1, unsigned char p2, const ByteVector &data)
 Send an APDU command to the reader.
 
virtual ISO7816Response sendAPDUCommand (unsigned char cla, unsigned char ins, unsigned char p1, unsigned char p2, unsigned char lc, unsigned char le)
 Send an APDU command to the reader without data.
 
virtual ISO7816Response sendAPDUCommand (unsigned char cla, unsigned char ins, unsigned char p1, unsigned char p2, unsigned char le)
 Send an APDU command to the reader without data.
 
virtual ISO7816Response sendAPDUCommand (unsigned char cla, unsigned char ins, unsigned char p1, unsigned char p2)
 Send an APDU command to the reader without data.
 
virtual ISO7816Response sendExtendedAPDUCommand (unsigned char cla, unsigned char ins, unsigned char p1, unsigned char p2, unsigned short lc, const ByteVector &data)
 Send an extended APDU command to the reader.
 
virtual ISO7816Response sendExtendedAPDUCommand (unsigned char cla, unsigned char ins, unsigned char p1, unsigned char p2, unsigned short lc, const ByteVector &data, unsigned short le)
 Send an extended APDU command to the reader.
 
ByteVector adaptCommand (const ByteVector &command) override
 Adapt the command to send to the reader.
 
ByteVector adaptAnswer (const ByteVector &answer) override
 Adapt the answer received from the reader.
 
void setCrypto (std::shared_ptr< ISO24727Crypto > crypto)
 
- Public Member Functions inherited from logicalaccess::ReaderCardAdapter
virtual ~ReaderCardAdapter ()
 
 ReaderCardAdapter ()
 
virtual ByteVector adaptCommand (const ByteVector &command)
 Adapt the command to send to the reader.
 
virtual ByteVector adaptAnswer (const ByteVector &answer)
 Adapt the answer received from the reader.
 
std::shared_ptr< DataTransportgetDataTransport () const
 Get the data transport.
 
void setDataTransport (std::shared_ptr< DataTransport > dataTransport)
 Set the data transport.
 
virtual ByteVector sendCommand (const ByteVector &command, long timeout=-1)
 Send a command to the reader.
 
virtual std::shared_ptr< ResultCheckergetResultChecker () const
 Get the result checker.
 
virtual void setResultChecker (std::shared_ptr< ResultChecker > checker)
 Set the result checker.
 

Private Attributes

std::shared_ptr< ISO24727Cryptocrypto_
 

Additional Inherited Members

- Protected Attributes inherited from logicalaccess::ReaderCardAdapter
std::shared_ptr< DataTransportd_dataTransport
 The data transport.
 
std::shared_ptr< ResultCheckerd_ResultChecker
 The result checker.
 

Detailed Description

A default ISO7816 reader/card adapter class.

Member Function Documentation

◆ adaptAnswer()

ByteVector logicalaccess::ISO7816ReaderCardAdapter::adaptAnswer ( const ByteVector answer)
overridevirtual

Adapt the answer received from the reader.

Parameters
answerThe answer received.
Returns
The adapted answer received.

Reimplemented from logicalaccess::ReaderCardAdapter.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter, and logicalaccess::STidSTRReaderCardAdapter.

◆ adaptCommand()

ByteVector logicalaccess::ISO7816ReaderCardAdapter::adaptCommand ( const ByteVector command)
overridevirtual

Adapt the command to send to the reader.

Parameters
commandThe command to send.
Returns
The adapted command to send.

Reimplemented from logicalaccess::ReaderCardAdapter.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter, and logicalaccess::STidSTRReaderCardAdapter.

◆ sendAPDUCommand() [1/7]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendAPDUCommand ( const ByteVector data)
virtual

Send an APDU command to the reader.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter.

◆ sendAPDUCommand() [2/7]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendAPDUCommand ( unsigned char  cla,
unsigned char  ins,
unsigned char  p1,
unsigned char  p2 
)
virtual

Send an APDU command to the reader without data.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter, and logicalaccess::ISO7816OK5553ReaderCardAdapter.

◆ sendAPDUCommand() [3/7]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendAPDUCommand ( unsigned char  cla,
unsigned char  ins,
unsigned char  p1,
unsigned char  p2,
const ByteVector data 
)
virtual

Send an APDU command to the reader.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter.

◆ sendAPDUCommand() [4/7]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendAPDUCommand ( unsigned char  cla,
unsigned char  ins,
unsigned char  p1,
unsigned char  p2,
unsigned char  lc,
const ByteVector data 
)
virtual

Send an APDU command to the reader.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter.

◆ sendAPDUCommand() [5/7]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendAPDUCommand ( unsigned char  cla,
unsigned char  ins,
unsigned char  p1,
unsigned char  p2,
unsigned char  lc,
const ByteVector data,
unsigned char  le 
)
virtual

Send an APDU command to the reader.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter.

◆ sendAPDUCommand() [6/7]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendAPDUCommand ( unsigned char  cla,
unsigned char  ins,
unsigned char  p1,
unsigned char  p2,
unsigned char  lc,
unsigned char  le 
)
virtual

Send an APDU command to the reader without data.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter, and logicalaccess::ISO7816OK5553ReaderCardAdapter.

◆ sendAPDUCommand() [7/7]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendAPDUCommand ( unsigned char  cla,
unsigned char  ins,
unsigned char  p1,
unsigned char  p2,
unsigned char  le 
)
virtual

Send an APDU command to the reader without data.

Reimplemented in logicalaccess::ISO7816OK5553ReaderCardAdapter, and logicalaccess::ISO7816OK5553ReaderCardAdapter.

◆ sendExtendedAPDUCommand() [1/2]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendExtendedAPDUCommand ( unsigned char  cla,
unsigned char  ins,
unsigned char  p1,
unsigned char  p2,
unsigned short  lc,
const ByteVector data 
)
virtual

Send an extended APDU command to the reader.

◆ sendExtendedAPDUCommand() [2/2]

ISO7816Response logicalaccess::ISO7816ReaderCardAdapter::sendExtendedAPDUCommand ( unsigned char  cla,
unsigned char  ins,
unsigned char  p1,
unsigned char  p2,
unsigned short  lc,
const ByteVector data,
unsigned short  le 
)
virtual

Send an extended APDU command to the reader.

◆ setCrypto()

void logicalaccess::ISO7816ReaderCardAdapter::setCrypto ( std::shared_ptr< ISO24727Crypto crypto)

Member Data Documentation

◆ crypto_

std::shared_ptr<ISO24727Crypto> logicalaccess::ISO7816ReaderCardAdapter::crypto_
private

The cryptographic object that maintain the state. It is used to encrypt/decrypt APDUs.


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