Qrypt Security
Loading...
Searching...
No Matches
qryptsecurity.h
Go to the documentation of this file.
1#ifndef QRYPTSECURITY_H
2#define QRYPTSECURITY_H
3
4#include <memory>
5#include <string>
6#include <vector>
7
8namespace QryptSecurity {
9
10const std::string QRYPTSECURITY_VERSION = "0.9";
11
12
16enum class SymmetricKeyMode {
21
26
31};
32
37
41 std::vector<uint8_t> key;
42
46 std::vector<uint8_t> metadata;
47
48};
49
58 public:
59
62
68 static std::unique_ptr<IKeyGenDistributedClient> create();
69
75 virtual void initialize(std::string qryptToken) = 0;
76
83 virtual void initialize(std::string qryptToken, std::string caCertPath) = 0;
84
91 virtual SymmetricKeyData genInit(const SymmetricKeyMode mode) = 0;
92
102 virtual SymmetricKeyData genInit(const SymmetricKeyMode mode, const size_t keySize) = 0;
103
110 virtual std::vector<uint8_t> genSync(std::vector<uint8_t> metadata) = 0;
111
112};
113
114} // namespace
115
116#endif
KeyGenDistributedClient.
Definition: qryptsecurity.h:57
virtual void initialize(std::string qryptToken)=0
Initializes the client.
virtual SymmetricKeyData genInit(const SymmetricKeyMode mode, const size_t keySize)=0
Generate symmetric key for this client and metadata for other client.
virtual SymmetricKeyData genInit(const SymmetricKeyMode mode)=0
Generate symmetric key for this client and metadata for other client.
virtual std::vector< uint8_t > genSync(std::vector< uint8_t > metadata)=0
Generate symmetric key for this client from metadata.
static std::unique_ptr< IKeyGenDistributedClient > create()
Factory function for creating objects.
IKeyGenDistributedClient()
Definition: qryptsecurity.h:60
virtual void initialize(std::string qryptToken, std::string caCertPath)=0
Initializes the client.
virtual ~IKeyGenDistributedClient()
Definition: qryptsecurity.h:61
Definition: qryptsecurity.h:8
SymmetricKeyMode
Enumeration of symmetric key modes.
Definition: qryptsecurity.h:16
@ NUM_SYMMETRIC_KEY_MODES
Number of modes.
const std::string QRYPTSECURITY_VERSION
Definition: qryptsecurity.h:10
Structure to store symmetric key data.
Definition: qryptsecurity.h:36
std::vector< uint8_t > metadata
Symmetric key metadata.
Definition: qryptsecurity.h:46
std::vector< uint8_t > key
Symmetric key.
Definition: qryptsecurity.h:41