diff options
Diffstat (limited to 'crypt/hybridcrypt.h')
| -rw-r--r-- | crypt/hybridcrypt.h | 22 |
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 |
