summaryrefslogtreecommitdiff
path: root/src/core/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/crypto')
-rw-r--r--src/core/crypto/key_manager.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/crypto/key_manager.h b/src/core/crypto/key_manager.h
index 7265c4171..bf3434e1c 100644
--- a/src/core/crypto/key_manager.h
+++ b/src/core/crypto/key_manager.h
@@ -223,7 +223,13 @@ bool operator<(const KeyIndex<KeyType>& lhs, const KeyIndex<KeyType>& rhs) {
223 223
224class KeyManager { 224class KeyManager {
225public: 225public:
226 KeyManager(); 226 static KeyManager& instance() {
227 static KeyManager instance;
228 return instance;
229 }
230
231 KeyManager(KeyManager const&) = delete;
232 void operator=(KeyManager const&) = delete;
227 233
228 bool HasKey(S128KeyType id, u64 field1 = 0, u64 field2 = 0) const; 234 bool HasKey(S128KeyType id, u64 field1 = 0, u64 field2 = 0) const;
229 bool HasKey(S256KeyType id, u64 field1 = 0, u64 field2 = 0) const; 235 bool HasKey(S256KeyType id, u64 field1 = 0, u64 field2 = 0) const;
@@ -257,6 +263,8 @@ public:
257 bool AddTicketPersonalized(Ticket raw); 263 bool AddTicketPersonalized(Ticket raw);
258 264
259private: 265private:
266 KeyManager();
267
260 std::map<KeyIndex<S128KeyType>, Key128> s128_keys; 268 std::map<KeyIndex<S128KeyType>, Key128> s128_keys;
261 std::map<KeyIndex<S256KeyType>, Key256> s256_keys; 269 std::map<KeyIndex<S256KeyType>, Key256> s256_keys;
262 270