mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-01-13 23:45:25 +00:00
34 lines
618 B
C++
34 lines
618 B
C++
/**
|
|
* @copyright Utilitech AS 2023
|
|
* License: Fair Source
|
|
*
|
|
*/
|
|
|
|
#ifndef _GCMPARSER_H
|
|
#define _GCMPARSER_H
|
|
|
|
#include "Arduino.h"
|
|
#include "DataParser.h"
|
|
|
|
#define GCM_TAG 0xDB
|
|
#define GCM_AUTH_FAILED -51
|
|
#define GCM_DECRYPT_FAILED -52
|
|
#define GCM_ENCRYPTION_KEY_FAILED -53
|
|
|
|
typedef struct GCMSizeDef {
|
|
uint8_t flag;
|
|
uint16_t format;
|
|
} __attribute__((packed)) GCMSizeDef;
|
|
|
|
|
|
class GCMParser {
|
|
public:
|
|
GCMParser(uint8_t *encryption_key, uint8_t *authentication_key);
|
|
int8_t parse(uint8_t *buf, DataParserContext &ctx);
|
|
private:
|
|
uint8_t encryption_key[16];
|
|
uint8_t authentication_key[16];
|
|
};
|
|
|
|
#endif
|