LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Enumerations | Functions
desfirecommands.hpp File Reference

DESFire commands. More...

#include <logicalaccess/plugins/cards/desfire/desfireaccessinfo.hpp>
#include <logicalaccess/plugins/cards/desfire/desfirelocation.hpp>
#include <logicalaccess/cards/commands.hpp>
#include <vector>
#include <logicalaccess/iks/RemoteCrypto.hpp>

Go to the source code of this file.

Classes

struct  logicalaccess::DESFireAccessRights
 Access rights on DESFire file. More...
 
class  logicalaccess::DESFireCommands
 The DESFire commands class. More...
 
struct  logicalaccess::DESFireCommands::DataFileSetting
 Describe setting for Data File type. More...
 
struct  logicalaccess::DESFireCommands::ValueFileSetting
 Describe setting for Value File type. More...
 
struct  logicalaccess::DESFireCommands::RecordFileSetting
 Describe setting for Record File type. More...
 
struct  logicalaccess::DESFireCommands::FileSetting
 Describe file setting. More...
 
struct  logicalaccess::DESFireCommands::DESFireCardVersion
 Card information about software and hardware version. More...
 

Namespaces

namespace  logicalaccess
 

Macros

#define EXCEPTION_MSG_SELECTAPPLICATION    "Select application failed."
 The select application exception message.
 
#define DF_INS
 
#define DF_INS_AUTHENTICATE   0x0A
 
#define DF_INS_CHANGE_KEY_SETTINGS   0x54
 
#define DF_INS_GET_KEY_SETTINGS   0x45
 
#define DF_INS_CHANGE_KEY   0xC4
 
#define DF_INS_GET_KEY_VERSION   0x64
 
#define DF_INS_CREATE_APPLICATION   0xCA
 
#define DF_INS_DELETE_APPLICATION   0xDA
 
#define DF_INS_GET_APPLICATION_IDS   0x6A
 
#define DF_INS_SELECT_APPLICATION   0x5A
 
#define DF_INS_FORMAT_PICC   0xFC
 
#define DF_INS_GET_VERSION   0x60
 
#define DF_INS_GET_FILE_IDS   0x6F
 
#define DF_INS_GET_FILE_SETTINGS   0xF5
 
#define DF_INS_CHANGE_FILE_SETTINGS   0x5F
 
#define DF_INS_CREATE_STD_DATA_FILE   0xCD
 
#define DF_INS_CREATE_BACKUP_DATA_FILE   0xCB
 
#define DF_INS_CREATE_VALUE_FILE   0xCC
 
#define DF_INS_CREATE_LINEAR_RECORD_FILE   0xC1
 
#define DF_INS_CREATE_CYCLIC_RECORD_FILE   0xC0
 
#define DF_INS_DELETE_FILE   0xDF
 
#define DF_INS_READ_DATA   0xBD
 
#define DF_INS_WRITE_DATA   0x3D
 
#define DF_INS_GET_VALUE   0x6C
 
#define DF_INS_CREDIT   0x0C
 
#define DF_INS_DEBIT   0xDC
 
#define DF_INS_LIMITED_CREDIT   0x1C
 
#define DF_INS_WRITE_RECORD   0x3B
 
#define DF_INS_READ_RECORDS   0xBB
 
#define DF_INS_CLEAR_RECORD_FILE   0xEB
 
#define DF_COMMIT_TRANSACTION   0xC7
 
#define DF_INS_ABORT_TRANSACTION   0xA7
 
#define DF_INS_ADDITIONAL_FRAME   0xAF
 
#define DF_CLA_ISO_WRAP   0x90
 
#define CMD_DESFIRE   "DESFire"
 

Enumerations

enum  logicalaccess::DESFireKeySettings {
  logicalaccess::KS_ALLOW_CHANGE_MK = 0x01 , logicalaccess::KS_FREE_LISTING_WITHOUT_MK = 0x02 , logicalaccess::KS_FREE_CREATE_DELETE_WITHOUT_MK = 0x04 , logicalaccess::KS_CONFIGURATION_CHANGEABLE = 0x08 ,
  logicalaccess::KS_CHANGE_KEY_WITH_MK = 0x00 , logicalaccess::KS_CHANGE_KEY_WITH_TARGETED_KEYNO = 0xE0 , logicalaccess::KS_CHANGE_KEY_FROZEN = 0xF0 , logicalaccess::KS_DEFAULT = 0x0B
}
 The key settings. More...
 
enum  logicalaccess::TaskAccessRights {
  logicalaccess::AR_KEY0 = 0x00 , logicalaccess::AR_KEY1 = 0x01 , logicalaccess::AR_KEY2 = 0x02 , logicalaccess::AR_KEY3 = 0x03 ,
  logicalaccess::AR_KEY4 = 0x04 , logicalaccess::AR_KEY5 = 0x05 , logicalaccess::AR_KEY6 = 0x06 , logicalaccess::AR_KEY7 = 0x07 ,
  logicalaccess::AR_KEY8 = 0x08 , logicalaccess::AR_KEY9 = 0x09 , logicalaccess::AR_KEY10 = 0x0A , logicalaccess::AR_KEY11 = 0x0B ,
  logicalaccess::AR_KEY12 = 0x0C , logicalaccess::AR_KEY13 = 0x0D , logicalaccess::AR_FREE = 0x0E , logicalaccess::AR_NEVER = 0x0F
}
 The access key flag. More...
 

Functions

short logicalaccess::AccessRightsInMemory (const DESFireAccessRights &rights)
 Convert file access rights into flags.
 

Detailed Description

DESFire commands.

Author
Maxime C. maxim.nosp@m.e-de.nosp@m.v@isl.nosp@m.og.c.nosp@m.om

Macro Definition Documentation

◆ CMD_DESFIRE

#define CMD_DESFIRE   "DESFire"

◆ DF_CLA_ISO_WRAP

#define DF_CLA_ISO_WRAP   0x90

◆ DF_COMMIT_TRANSACTION

#define DF_COMMIT_TRANSACTION   0xC7

◆ DF_INS

#define DF_INS

◆ DF_INS_ABORT_TRANSACTION

#define DF_INS_ABORT_TRANSACTION   0xA7

◆ DF_INS_ADDITIONAL_FRAME

#define DF_INS_ADDITIONAL_FRAME   0xAF

◆ DF_INS_AUTHENTICATE

#define DF_INS_AUTHENTICATE   0x0A

◆ DF_INS_CHANGE_FILE_SETTINGS

#define DF_INS_CHANGE_FILE_SETTINGS   0x5F

◆ DF_INS_CHANGE_KEY

#define DF_INS_CHANGE_KEY   0xC4

◆ DF_INS_CHANGE_KEY_SETTINGS

#define DF_INS_CHANGE_KEY_SETTINGS   0x54

◆ DF_INS_CLEAR_RECORD_FILE

#define DF_INS_CLEAR_RECORD_FILE   0xEB

◆ DF_INS_CREATE_APPLICATION

#define DF_INS_CREATE_APPLICATION   0xCA

◆ DF_INS_CREATE_BACKUP_DATA_FILE

#define DF_INS_CREATE_BACKUP_DATA_FILE   0xCB

◆ DF_INS_CREATE_CYCLIC_RECORD_FILE

#define DF_INS_CREATE_CYCLIC_RECORD_FILE   0xC0

◆ DF_INS_CREATE_LINEAR_RECORD_FILE

#define DF_INS_CREATE_LINEAR_RECORD_FILE   0xC1

◆ DF_INS_CREATE_STD_DATA_FILE

#define DF_INS_CREATE_STD_DATA_FILE   0xCD

◆ DF_INS_CREATE_VALUE_FILE

#define DF_INS_CREATE_VALUE_FILE   0xCC

◆ DF_INS_CREDIT

#define DF_INS_CREDIT   0x0C

◆ DF_INS_DEBIT

#define DF_INS_DEBIT   0xDC

◆ DF_INS_DELETE_APPLICATION

#define DF_INS_DELETE_APPLICATION   0xDA

◆ DF_INS_DELETE_FILE

#define DF_INS_DELETE_FILE   0xDF

◆ DF_INS_FORMAT_PICC

#define DF_INS_FORMAT_PICC   0xFC

◆ DF_INS_GET_APPLICATION_IDS

#define DF_INS_GET_APPLICATION_IDS   0x6A

◆ DF_INS_GET_FILE_IDS

#define DF_INS_GET_FILE_IDS   0x6F

◆ DF_INS_GET_FILE_SETTINGS

#define DF_INS_GET_FILE_SETTINGS   0xF5

◆ DF_INS_GET_KEY_SETTINGS

#define DF_INS_GET_KEY_SETTINGS   0x45

◆ DF_INS_GET_KEY_VERSION

#define DF_INS_GET_KEY_VERSION   0x64

◆ DF_INS_GET_VALUE

#define DF_INS_GET_VALUE   0x6C

◆ DF_INS_GET_VERSION

#define DF_INS_GET_VERSION   0x60

◆ DF_INS_LIMITED_CREDIT

#define DF_INS_LIMITED_CREDIT   0x1C

◆ DF_INS_READ_DATA

#define DF_INS_READ_DATA   0xBD

◆ DF_INS_READ_RECORDS

#define DF_INS_READ_RECORDS   0xBB

◆ DF_INS_SELECT_APPLICATION

#define DF_INS_SELECT_APPLICATION   0x5A

◆ DF_INS_WRITE_DATA

#define DF_INS_WRITE_DATA   0x3D

◆ DF_INS_WRITE_RECORD

#define DF_INS_WRITE_RECORD   0x3B

◆ EXCEPTION_MSG_SELECTAPPLICATION

#define EXCEPTION_MSG_SELECTAPPLICATION    "Select application failed."

The select application exception message.