LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
keydiversification.hpp
Go to the documentation of this file.
1#ifndef KEYDIVERSIFICATION_HPP__
2#define KEYDIVERSIFICATION_HPP__
3
4#include <vector>
5#include <memory>
7
8namespace logicalaccess
9{
10class Key;
11
12class LLA_CORE_API KeyDiversification : public XmlSerializable
13{
14 public:
15 virtual ~KeyDiversification() = default;
16
17 virtual void initDiversification(ByteVector d_identifier, unsigned int AID,
18 std::shared_ptr<Key> key, unsigned char keyno,
19 ByteVector &diversify) = 0;
20 virtual ByteVector getDiversifiedKey(std::shared_ptr<Key> key,
21 ByteVector diversify) = 0;
22 virtual std::string getKeyDiversificationType() = 0;
23
24 static std::shared_ptr<KeyDiversification>
25 getKeyDiversificationFromType(std::string kdiv);
26};
27}
28
29#endif
Definition: keydiversification.hpp:13
virtual std::string getKeyDiversificationType()=0
virtual void initDiversification(ByteVector d_identifier, unsigned int AID, std::shared_ptr< Key > key, unsigned char keyno, ByteVector &diversify)=0
virtual ByteVector getDiversifiedKey(std::shared_ptr< Key > key, ByteVector diversify)=0
virtual ~KeyDiversification()=default
A Xml Serializable base class. Add Xml serialization to a class.
Definition: xmlserializable.hpp:54
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Definition: asn1.hpp:9