7#ifndef LOGICALACCESS_OSDPSECURECHANNEL_HPP
8#define LOGICALACCESS_OSDPSECURECHANNEL_HPP
13#include <logicalaccess/plugins/readers/osdp/lla_readers_osdp_api.hpp>
40 , m_PDChallenge(PDChallenge)
41 , m_PDCryptogram(PDCryptogram)
42 , m_CPChallenge(CPChallenge)
56 void deriveKey(std::shared_ptr<AES128Key> scbkkey,
57 std::shared_ptr<AES128Key> scbkdkey);
59 void computeAuthenticationData();
85 return m_PDCryptogram;
95 return m_CPCryptogram;
AES initialization vector class.
OSDP Secure Channel class.
Definition: osdpsecurechannel.hpp:34
void setRMAC(ByteVector rmac)
Definition: osdpsecurechannel.hpp:133
bool isSCBK_D
Definition: osdpsecurechannel.hpp:71
ByteVector m_cmac
Definition: osdpsecurechannel.hpp:159
ByteVector m_CPCryptogram
Definition: osdpsecurechannel.hpp:153
ByteVector & getSMAC1()
Definition: osdpsecurechannel.hpp:98
~OSDPSecureChannel()
Definition: osdpsecurechannel.hpp:51
ByteVector m_PDCryptogram
Definition: osdpsecurechannel.hpp:151
ByteVector & getSMAC2()
Definition: osdpsecurechannel.hpp:108
ByteVector m_CPChallenge
Definition: osdpsecurechannel.hpp:152
ByteVector & getCPChallenge()
Definition: osdpsecurechannel.hpp:88
ByteVector & getUID()
Definition: osdpsecurechannel.hpp:73
void setSMAC1(ByteVector smac1)
Definition: osdpsecurechannel.hpp:103
ByteVector m_rmac
Definition: osdpsecurechannel.hpp:158
ByteVector & getCMAC()
Definition: osdpsecurechannel.hpp:138
ByteVector & getPDCryptogram()
Definition: osdpsecurechannel.hpp:83
void setCMAC(ByteVector cmac)
Definition: osdpsecurechannel.hpp:143
ByteVector m_smac1
Definition: osdpsecurechannel.hpp:155
ByteVector m_uid
Definition: osdpsecurechannel.hpp:149
void setSENC(ByteVector senc)
Definition: osdpsecurechannel.hpp:123
void setSMAC2(ByteVector smac2)
Definition: osdpsecurechannel.hpp:113
ByteVector & getPDChallenge()
Definition: osdpsecurechannel.hpp:78
OSDPSecureChannel(ByteVector uid, ByteVector PDChallenge, ByteVector PDCryptogram, ByteVector CPChallenge)
Definition: osdpsecurechannel.hpp:36
ByteVector & getRMAC()
Definition: osdpsecurechannel.hpp:128
OSDPSecureChannel()
Definition: osdpsecurechannel.hpp:46
ByteVector m_smac2
Definition: osdpsecurechannel.hpp:156
ByteVector m_senc
Definition: osdpsecurechannel.hpp:157
ByteVector & getCPCryptogram()
Definition: osdpsecurechannel.hpp:93
ByteVector m_PDChallenge
Definition: osdpsecurechannel.hpp:150
ByteVector & getSENC()
Definition: osdpsecurechannel.hpp:118
An AES initialization vector.
Definition: aes_initialization_vector.hpp:28
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
OSDPSecureChannelType
Definition: osdpsecurechannel.hpp:18
@ SCS_14
Definition: osdpsecurechannel.hpp:23
@ SCS_15
Definition: osdpsecurechannel.hpp:24
@ NOSCS
Definition: osdpsecurechannel.hpp:19
@ SCS_13
Definition: osdpsecurechannel.hpp:22
@ SCS_18
Definition: osdpsecurechannel.hpp:27
@ SCS_16
Definition: osdpsecurechannel.hpp:25
@ SCS_11
Definition: osdpsecurechannel.hpp:20
@ SCS_12
Definition: osdpsecurechannel.hpp:21
@ SCS_17
Definition: osdpsecurechannel.hpp:26