diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-09-08 21:12:57 +0200 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-09-08 22:01:52 +0200 |
| commit | 4a1df49ff88ed854d7e9863764ebdb2946527a09 (patch) | |
| tree | 29b69bea776a605874886595ce99cfbd5c2456ec /crypt/hybridcrypt.h | |
| parent | 446fa96040485c700e23e2511c4fa6922aa3f7a5 (diff) | |
| download | src-4a1df49ff88ed854d7e9863764ebdb2946527a09.tar.gz src-4a1df49ff88ed854d7e9863764ebdb2946527a09.zip | |
Implementiere Teile von exportUserKeypair und update Kommentare
Die Funktion exportUserKeypair kann momentan nur den privaten Schlüssel
exportieren. Die Kommentare machen es nun klarer, dass die angegebenen
Dateien überschrieben werden. Eine Methode zum Speicherfreimachen wurde
hinzugefügt um Duplizierung zu vermeiden. Und throw sollte kein new
Enthalten, da wir nicht in Java sind.
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 |
