Mercurial > trustbridge
view ui/createcertlistdialog.h @ 1306:845048d4a69f
(issue159) Use user specific appdata directory for nss list with simple rights.
Using the ProgramData folder with resticted access rights failed in case
the process was not elevated.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 13 Oct 2014 12:31:37 +0200 |
parents | 2a1aa9df8f11 |
children | d009da9cfa10 |
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); 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