GCrypt/GCryptCLI/include/KeyManager.h

27 lines
562 B
C
Raw Normal View History

2022-05-27 16:44:42 +02:00
#ifndef GCRYPTCLI_KEYMANAGER_H
#define GCRYPTCLI_KEYMANAGER_H
2022-05-26 21:56:15 +02:00
#include <GCrypt/Key.h>
using namespace Leonetienne::GCrypt;
2022-05-27 16:44:42 +02:00
// This class has the task to prepare and supply the encryption key.
class KeyManager {
2022-05-26 21:56:15 +02:00
public:
//! Will prepare the key. Be it from cli, a file, or, random, or whatever.
static void PrepareKey();
//! Will return the key, if prepared.
static const Key& GetKey();
private:
//! Will ask for a password on stdin,
//! hiding the input.
static std::string PasswordPrompt();
static Key key;
};
#endif