summaryrefslogtreecommitdiffstats
path: root/crypt/hybridcrypt.h
diff options
context:
space:
mode:
Diffstat (limited to 'crypt/hybridcrypt.h')
-rw-r--r--crypt/hybridcrypt.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/crypt/hybridcrypt.h b/crypt/hybridcrypt.h
index 710cf47..c3ce4ef 100644
--- a/crypt/hybridcrypt.h
+++ b/crypt/hybridcrypt.h
@@ -7,9 +7,13 @@
#include <QVector>
#include <QDebug>
+#include <openssl/conf.h>
#include <openssl/evp.h>
#include <openssl/err.h>
#include <openssl/rand.h>
+#include <openssl/rsa.h>
+
+#include "cryptexception.h"
class HybridCrypt
{
@@ -17,11 +21,17 @@ public:
/**
* @brief HybridCrypt::HybridCrypt
- * Initialisiert den CSPRNG von OpenSSL mittels /dev/random.
+ * Initialisiert OpenSSL.
*/
HybridCrypt();
/**
+ * @brief HybridCrypt::~HybridCrypt
+ * Räumt OpenSSL auf.
+ */
+ ~HybridCrypt();
+
+ /**
* @brief HybridCrypt::encrypt
* Ließt eine Datei ein und schreibt diese verschlüsselt
* mit den übergebenen Schlüsseln und dem Nutzerschlüssel.
@@ -71,8 +81,8 @@ public:
void exportPublicUserKey(QString keyfileName);
private:
- EVP_PKEY privateUserkey;
- EVP_PKEY publicUserkey;
+ EVP_PKEY *privateUserkey;
+ EVP_PKEY *publicUserkey;
/**
* @brief isCsprngSeeded
@@ -80,6 +90,12 @@ private:
* @return Gibt wahr zurück wenn ausreichend intialisert wurde, ansonsten falsch.
*/
bool isCsprngSeeded();
+
+ /**
+ * @brief throwOpenSslException
+ * Wirft eine Exception mit dem OpenSSL Fehler.
+ */
+ void throwOpenSslException();
};
#endif // HYBRIDCRYPT_H