SEcube open-source SDK
security_api.h
Go to the documentation of this file.
1 
10 #include "../L1 Base/L1_base.h"
11 
12 class SecurityApi {
13 private:
14  virtual void KeyList(uint16_t maxKeys, uint16_t skip, se3Key* keyArray, uint16_t* count) = 0;
15 public:
16  virtual ~SecurityApi() {};
17  virtual void L1KeyList(uint16_t maxKeys, uint16_t skip, se3Key* keyArray, uint16_t* count) = 0;
18  virtual void L1KeyEdit(se3Key* k, uint16_t op) = 0;
19  virtual bool L1FindKey(uint32_t keyId) = 0;
20  virtual void L1CryptoInit(uint16_t algorithm, uint16_t mode, uint32_t keyId, uint32_t* sessId) = 0;
21  virtual void L1CryptoUpdate(uint32_t sessId, uint16_t flags, uint16_t data1Len, uint8_t* data1, uint16_t data2Len, uint8_t* data2, uint16_t* dataOutLen, uint8_t* dataOut) = 0;
22  virtual void L1CryptoSetTime(uint32_t devTime) = 0;
23  virtual void L1Encrypt(size_t dataInLen, uint8_t* dataIn, size_t* dataOutLen, uint8_t* dataOut, uint16_t algorithm, uint16_t mode, uint32_t keyId) = 0;
24  virtual void L1Decrypt(size_t dataInLen, uint8_t* dataIn, size_t* dataOutLen, uint8_t* dataOut, uint16_t algorithm, uint16_t mode, uint32_t keyId) = 0;
25  virtual void L1Digest(size_t dataInLen, uint8_t* dataIn, size_t* dataOutLen, uint8_t* dataOut, uint16_t algorithm) = 0;
26  virtual void L1GetAlgorithms(uint16_t maxAlgorithms, uint16_t skip, se3Algo* algorithmsArray, uint16_t* count) = 0;
27 };
se3Algo_
SEcube Algorithm structure.
Definition: L1_base.h:69
se3Key_
SEcube Key structure.
Definition: L1_base.h:77