Upravy a opravování kryptování

This commit is contained in:
2024-04-11 14:31:24 +02:00
parent ead3ba6e3e
commit 3b1ee6038e
47 changed files with 414 additions and 422 deletions

View File

@@ -1,3 +1,5 @@
#ifndef EZ_APPLICATION_LICENCE_DISABLE
#define CRC = 1
#ifndef LICENCE_COMMON_H_
@@ -15,7 +17,10 @@ using namespace std;
#define XML_VERSION 1
#define SOFTWARE_VERSION 1
#define SUCCES 0;
#define SUCCES 0
#define CRYPT_INIT_VECTOR_SIZE 16
#define CRYPT_INIT_KEY_SIZE 32
const int cidSize = 32;
const int csdSize = 32;
@@ -52,9 +57,9 @@ enum class GeneralError
enum class ELCType
{
ELC1 = 1, //starý původní licenční soubor zalozený na CID a CSD
ELC2 = 2, //modifikovaný starý licenční soubor umoznující modifikace (šifrování, název) dle parametrů
ELC3 = 3 //budoucí softwarový licenční soubor, který není zalozený na existenci CID a CSD, ale na unikátním ID instalace linuxu
ELC1 = 1, // starý původní licenční soubor zalozený na CID a CSD
ELC2 = 2, // modifikovaný starý licenční soubor umoznující modifikace (šifrování, název) dle parametrů
ELC3 = 3 // budoucí softwarový licenční soubor, který není zalozený na existenci CID a CSD, ale na unikátním ID instalace linuxu
};
enum class ELCSubType
{
@@ -91,7 +96,10 @@ enum class FileNameGenerationType
DEFAULT = 1
};
//indexy musí být velká písmena ze základní ASCI tabulky
struct CryptInitVector{ int vec[CRYPT_INIT_VECTOR_SIZE]; };
struct CryptAesKey { int key[CRYPT_INIT_KEY_SIZE]; };
// indexy musí být velká písmena ze základní ASCI tabulky
struct Mapping
{
unordered_map<string, LicenceType> licMapTypes = {{"EOV_OSV", LicenceType::EOS_EOV}, {"DDTS", LicenceType::DDTS}, {"DRT", LicenceType::DRT}};
@@ -107,12 +115,12 @@ struct ErrorMessage
struct LicenceIdentification
{
ELCType licElcType = ELCType::ELC2; //hlavní typ licenčního souboru
ELCType licElcType = ELCType::ELC2; // hlavní typ licenčního souboru
LicenceType licLicenceType;
string licTypeName = "";
PlcType licPlcType;
uint8_t licenceVersion = 1; // verze licence, určuje kodování, pojmenování souborů
uint8_t licenceIndex = 0; //index licenčního souboru v případě, ze jich je víc
uint8_t licenceIndex = 0; // index licenčního souboru v případě, ze jich je víc
uint8_t revision;
uint8_t licCompatibility = 0; // identikator hlavního ELC. 0 = nedefinová a vrací se defaultní k danému ELC
uint16_t licItemsCount = 0;
@@ -129,33 +137,32 @@ struct LicenceInfoGeneral
/// @brief obecná struktura polozky licence, defaultní kompatibilita
struct LicenceItem
{
DWORD protocolId {};
DWORD dataPointsCount {};
DWORD protocolId{};
DWORD dataPointsCount{};
};
/* struktury pro ELC 1 */
//defaultní struktura pro ELC 1
// defaultní struktura pro ELC 1
struct LicenceELC1Info
{
bool isValid {false};
bool isValid{false};
};
//struktura ELC1, kompatibilita 1
// struktura ELC1, kompatibilita 1
struct LicenceELC1Info_1
{
unordered_map<int, int> licences = {};
};
//defaultni struktura polozky licence ELC 1
// defaultni struktura polozky licence ELC 1
struct LicenceELC1Item
{
int protocolId = -1;
int dataPointsCount = 0;
};
/* struktury pro ELC 2 */
//defaultní struktura pro ELC 2
// defaultní struktura pro ELC 2
struct LicenceELC2Info
{
map<DWORD, DWORD> licences = {};
@@ -166,21 +173,20 @@ struct LicenceELC2Info
// map<int, int> licences = {};
// };
//defaultni struktura polozky ELC 2
// defaultni struktura polozky ELC 2
struct LicenceELC2Item
{
DWORD protocolId {};
DWORD dataPointsCount {};
DWORD protocolId{};
DWORD dataPointsCount{};
};
//struktura polozky ELC 2,
// struktura polozky ELC 2,
struct LicenceELC2Item_1
{
DWORD protocolId {};
DWORD dataPointsCount {};
DWORD protocolId{};
DWORD dataPointsCount{};
};
class LicenceException : public std::exception
{
public:
@@ -208,3 +214,5 @@ private:
};
#endif
#endif