7#ifndef LOGICALACCESS_DESFIREKEY_HPP
8#define LOGICALACCESS_DESFIREKEY_HPP
11#include <logicalaccess/plugins/cards/desfire/lla_cards_desfire_api.hpp>
16#define DESFIRE_DES_KEY_SIZE 16
21#define DESFIRE_AES_KEY_SIZE 16
26#define DESFIRE_MAXKEY_SIZE 24
45 using XmlSerializable::serialize;
46 using XmlSerializable::unSerialize;
70 size_t getLength()
const override;
76 const unsigned char *
getData()
const override
96 d_key_version = key_version;
105 return d_key_version;
127 void serialize(boost::property_tree::ptree &parentNode)
override;
133 void unSerialize(boost::property_tree::ptree &node)
override;
139 std::string getDefaultXmlNodeName()
const override;
146 virtual bool operator==(
const DESFireKey &key)
const;
155 return !operator==(key);
A DESFire Key class.
Definition: desfirekey.hpp:43
const unsigned char * getData() const override
Get the key data.
Definition: desfirekey.hpp:76
void setKeyVersion(unsigned char key_version)
Set the key version.
Definition: desfirekey.hpp:94
DESFireKeyType getKeyType() const
Get the key type.
Definition: desfirekey.hpp:118
unsigned char d_key_version
The key version.
Definition: desfirekey.hpp:173
unsigned char * getData() override
Get the key data.
Definition: desfirekey.hpp:85
ByteVector d_key
The key bytes;.
Definition: desfirekey.hpp:168
unsigned char getKeyVersion() const
Get the key version.
Definition: desfirekey.hpp:103
bool operator!=(const DESFireKey &key) const
Inequality operator.
Definition: desfirekey.hpp:153
DESFireKeyType d_keyType
The DESFire key type.
Definition: desfirekey.hpp:178
A Key base class. The key object is used to describe key chip information used for authentication on ...
Definition: key.hpp:22
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
DESFireKeyType
The DESFire key type.
Definition: desfirekey.hpp:33
@ DF_KEY_AES
Definition: desfirekey.hpp:36
@ DF_KEY_DES
Definition: desfirekey.hpp:34
@ DF_KEY_3K3DES
Definition: desfirekey.hpp:35