Mercurial > trustbridge
view ui/createcertlistdialog.h @ 1395:a2574a029322
Fix Base 64 signature size calculation.
If the signature byte size is not equally dividable
by three the base 64 encoding needs three additional bytes.
The value is now fixed to avoid such errors in the future.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 26 Jan 2015 13:17:32 +0100 |
parents | d009da9cfa10 |
children |
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * See LICENSE.txt for details. */ #ifndef CREATECERTLISTDIALOG_H #define CREATECERTLISTDIALOG_H #include <QDialog> #include <QMainWindow> #include <QLineEdit> #include "certificate.h" #include <polarssl/pk.h> /** * @file createinstallerdialog.h * @brief The dialog to select the signing certificate and create a certificate list. */ class QListWidget; class AdministratorWindow; /** @brief The dialog to select the signing certificate and create a certificate list.*/ class CreateCertListDialog : public QDialog { Q_OBJECT public: /** @brief Create a dialog showing settings for the create certificate list * process * */ CreateCertListDialog(AdministratorWindow *parent); ~CreateCertListDialog(); /** @brief write a signed certificate list. * * @param [in] certs The certificates to include in the list * @param [in] filePath The path where the list should be written to * @param [in] listDate The date to write in the list * @param [in] pk The private key to sign with. * * @returns true on success false on error. */ static bool writeList(const QList<Certificate>& certs, const QString& filePath, const QDateTime& listDate, pk_context *pk); signals: /** @brief signal that is emited when the creation of a new list was successful.*/ void creationSuccessful(); private: void setupGUI(); QLineEdit *mKeyFile; QLineEdit *mSaveDir; AdministratorWindow *mAdminWindow; pk_context *mPk; /** @brief show an error message with QMessageBox * * @param [in] msg The message to show */ void showErrorMessage(const QString &msg); /** @brief load a file into mPk * * If the file is not a valid key or an error * occurs mPk will be NULL after a call to this function. * * @param [in] fileName the file to load */ void loadKeyFile(const QString& fileName); private slots: /** @brief Open the certificate selection dialog and parse the certificate * * If the certificate can be parsed mPk is replaced by the new key * otherwise an error message is shown to the user. */ void openCertificateSelect(); void openSaveLocation(); /** @brief create a valid certificate list file * * The contents of the certificate list are the certificates * shown in the adminWindow. It is signed with the currently * loaded certificate in mPk. On errors the user is * informed with showErrorMessage */ void createList(); }; #endif // CREATECERTLISTDIALOG_H