C API for BALTECH SDK
sec.h File Reference

This command group regroups the commands needed for Advanced Encryption Standard (AES)-based protocol encryption, and to access the reader's internal security system. More...

#include "../typedefs.h"

Go to the source code of this file.

Macros

#define BRP_Sec_ErrCrypto   BRP_ERR_STATUS(0x0700, 0x01)
 Invalid key used for encryption/MACing, MAC address invalid, or decrypted data invalid. More...
 
#define BRP_Sec_ErrTunnel   BRP_ERR_STATUS(0x0700, 0x02)
 It is not possible to tunnel this command. More...
 

Functions

brp_errcode brp_Sec_GetAcMask (brp_protocol protocol, unsigned SecLevel, brp_HostSecurityAccessConditionBits *AcMask)
 This command retrieves the Access Condition Mask of a specified security level. More...
 
brp_errcode brp_Sec_SetAcMask (brp_protocol protocol, unsigned SecLevel, brp_HostSecurityAccessConditionBits AcMask)
 This command sets the Access Condition Mask of the security level specified in the SecurityLevel parameter to the AcMask value. More...
 
brp_errcode brp_Sec_SetKey (brp_protocol protocol, unsigned ContinuousIV, unsigned Encrypted, unsigned MACed, unsigned SessionKey, unsigned DeriveKey, unsigned SecLevel, brp_buf Key)
 Sets a key and the appropriate Authorization Mode bits for a specified Security Level. More...
 
brp_errcode brp_Sec_AuthPhase1 (brp_protocol protocol, unsigned SecLevel, brp_buf RndA, brp_buf *EncRndA, brp_buf *RndB, bool *ContinuousIV, bool *Encrypted, bool *MACed, bool *SessionKey, brp_mempool *mempool)
 This command initiates a 2-phase authentication. More...
 
brp_errcode brp_Sec_AuthPhase2 (brp_protocol protocol, brp_buf EncRndB)
 This command finishes the 2-phase authentication procedure started by the brp_Sec_AuthPhase1() command. More...
 
brp_errcode brp_Sec_Tunnel (brp_protocol protocol, bool ContinuousIV, bool Encrypted, bool MACed, bool SessionKey, unsigned SecLevel, brp_buf TunnelledCmd, size_t TunnelledCmd_len, brp_buf *TunnelledResp, size_t *TunnelledResp_len, brp_mempool *mempool)
 This command enables to send a specific command, called the tunnelled command, to the reader (and to receive its response) in an encrypted and/or MACed fashion. More...
 
brp_errcode brp_Sec_Reset (brp_protocol protocol)
 This command resets the Baltech ID engine's security system. More...
 
brp_errcode brp_Sec_LockReset (brp_protocol protocol, unsigned SecLevel)
 This command prevents, that a brp_Sys_FactoryReset() is run for the Security Level specified in the SecLevel command. More...
 
brp_errcode brp_Sec_GetCurAcMask (brp_protocol protocol, brp_HostSecurityAccessConditionBits *AcMask)
 This command retrieves the Access Condition Mask, which is applied by the reader in the current context (i.e. More...
 

Detailed Description

This command group regroups the commands needed for Advanced Encryption Standard (AES)-based protocol encryption, and to access the reader's internal security system.

These mechanisms enable to protect the reader-host communication.

Definition in file sec.h.