diff options
Diffstat (limited to 'crypt/hybridcrypt.h')
| -rw-r--r-- | crypt/hybridcrypt.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/crypt/hybridcrypt.h b/crypt/hybridcrypt.h index ed691d2..8b1e022 100644 --- a/crypt/hybridcrypt.h +++ b/crypt/hybridcrypt.h @@ -1,6 +1,8 @@ #ifndef HYBRIDCRYPT_H #define HYBRIDCRYPT_H +#include <cstdio> + #include <QByteArray> #include <QFile> #include <QString> @@ -10,6 +12,7 @@ #include <openssl/conf.h> #include <openssl/evp.h> #include <openssl/err.h> +#include <openssl/pem.h> #include <openssl/rand.h> #include <openssl/rsa.h> @@ -67,7 +70,7 @@ public: /** * @brief HybridCrypt::exportUserKeypair * Exportiert das Schlüsselpaar des Nutzers im (PEM|DER|NET|ASC) Format. - * @param keyfileName Der Name der Datei in die das Schlüsselpaar exportiert wird. + * @param keyfileName Der Name der Datei in die das Schlüsselpaar exportiert wird (wird angelegt/überschrieben). * @param password Das Password mit dem der private Schlüssel des Nutzers verschlüsselt wird. */ void exportUserKeypair(QString keyfileName, QString password); @@ -76,12 +79,12 @@ public: /** * @brief HybridCrypt::exportPublicUserKey * Exportiert den öffentlichen Schlüssel des Nutzers im (PEM|DER|NET|ASC) Format. - * @param keyfileName Der Name der Datei in den der öffentliche Schlüssel exportiert wird. + * @param keyfileName Der Name der Datei in den der öffentliche Schlüssel exportiert wird (wird angelegt/überschrieben). */ void exportPublicUserKey(QString keyfileName); private: - EVP_PKEY *userKeypair; + EVP_PKEY *userKeypair; // Enthält nur den privaten Schlüssel, da OpenSSL nicht mehr braucht. /** * @brief isCsprngSeeded @@ -95,6 +98,12 @@ private: * Wirft eine Exception mit dem OpenSSL Fehler. */ void throwOpenSslException(); + + /** + * @brief freeKeyIfNotNull + * Gibt den Speicher vom Nutzerschlüssel frei, falls er existiert. + */ + void freeKeyIfNotNull(); }; #endif // HYBRIDCRYPT_H |
