summaryrefslogtreecommitdiffstats
path: root/crypt/hybridcrypt.h
diff options
context:
space:
mode:
Diffstat (limited to 'crypt/hybridcrypt.h')
-rw-r--r--crypt/hybridcrypt.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/crypt/hybridcrypt.h b/crypt/hybridcrypt.h
index d0c7202..fd0d515 100644
--- a/crypt/hybridcrypt.h
+++ b/crypt/hybridcrypt.h
@@ -72,7 +72,7 @@ public:
void importUserKeypair(QString keyfileName, QString password);
/**
- * @brief Exportiert das Schlüsselpaar des Nutzers im (PEM|DER|NET|ASC) Format.
+ * @brief Exportiert das Schlüsselpaar des Nutzers im PEM-Format.
* @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.
* @throws CryptException Fehler, die bei der Verschlüsselung auftreten können.
@@ -87,6 +87,12 @@ public:
*/
void exportPublicUserKey(QString keyfileName);
+ /**
+ * @brief Gibt an, ob eine Nutzerschlüssel bereits importiert/erzeugt wurde.
+ * @return Wahr, falls ein Nutzerschlüssel existiert, ansonsten falsch.
+ */
+ bool isUserKeyInitialised();
+
private:
EVP_PKEY *userKeypair; // Enthält nur den privaten Schlüssel, da OpenSSL nicht mehr braucht.
@@ -109,6 +115,13 @@ private:
QByteArray decryptAesData(EVP_PKEY *pkey, QByteArray data);
/**
+ * @brief Ließt einen Empfängerschlüssel aus einer Datei ein.
+ * @param keyfileName Der Dateiname aus dem der öffentliche Schlüssel gelsen wird.
+ * @return Der EVP_PKEY für OpenSSL.
+ */
+ EVP_PKEY *readRecipientKey(QString keyfileName);
+
+ /**
* @brief Gibt an, ob der Zufallszahlengenerator von OpenSSL mit ausreichend Entropie initialisiert wurde.
* @return Gibt wahr zurück wenn ausreichend intialisert wurde, ansonsten falsch.
*/