summaryrefslogtreecommitdiffstats
path: root/crypt/hybridcrypt.h
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-09-04 22:17:14 +0200
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-09-04 22:17:14 +0200
commit240930cdb922f3fed2442234ce6fdeaf67aaed33 (patch)
tree3f62c482c35e35034cedc91d5d9f11facbaae465 /crypt/hybridcrypt.h
parenta1aa74e5edb90266637c529dd96dd3487ac7d712 (diff)
downloadsrc-240930cdb922f3fed2442234ce6fdeaf67aaed33.tar.gz
src-240930cdb922f3fed2442234ce6fdeaf67aaed33.zip
Initialisiere OpenSSL und fÃge Fehlerbehandlung ein
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