Mercurial > trustbridge
view ui/certificate.h @ 341:36c68dfb821d
Added accessors for certificate details.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 10 Apr 2014 09:56:51 +0200 |
parents | 64e38886f903 |
children | a49766196a7d b0a274f4f9e2 |
line wrap: on
line source
#ifndef CERTIFICATE_H #define CERTIFICATE_H /** * @file certificate.h * @brief Class around native certificates. * */ #include <QByteArray> #include <QDateTime> #include <QMap> #include <QString> #ifdef Q_OS_WIN #include <windows.h> #include <wincrypt.h> #endif class Certificate { public: enum Status { InstallNew = 1, InstallOld, RemoveNew, RemoveOld }; /** @brief construct a certificate from a line of a certificate list. * * The first two characters of the string are expected to be * the command. I: or R: * * @param[in] b64Line The line from the certificate list. **/ Certificate(const QString& b64Line = QString()); /** @brief check if this certificate could be parsed */ bool isValid() const {return mValid;} /** @brief get a short description of the certificate * * This description should be used as a short overview * for this certificate * **/ QString shortDescription() const; /** @brief get details for the certificate * * Get a formatted details string usable for user visible * certificate details. * **/ const QString& details() const {return mDetails;} /** @brief get the line from which this certificate was constructed * * The resulting line includes the instruction e.g. * * I:BASE64ENCODEDATA... * **/ const QString& base64Line() const {return mBaseLine;} /** @brief Check if this certificate has the install instruction. * * This is shorthand for baseLine.startsWith("I:"); **/ bool isInstallCert() const {return mBaseLine.startsWith("I:");} /** @brief get the subject OU from the certificate */ QString subjectOU() const {return mSubjectOU;} /** @brief get the subject CN from the certificate */ QString subjectCN() const {return mSubjectCN;} /** @brief get the subject O from the certificate */ QString subjectO() const {return mSubjectO;} /** @brief get the subject SN from the certificate */ QString subjectSN() const {return mSubjectSN;} /** @brief get the date the certificate was issued */ QDateTime validFrom() const {return mValidFrom;} /** @brief get the date the certificate expires */ QDateTime validTo() const {return mValidTo;} private: /** @brief Helper function to parse the details of a certificate **/ void parseDetails(const QByteArray& cert); bool mValid; bool mInstCert; QString mSubjectOU, mSubjectCN, mSubjectO, mSubjectSN, mDetails, mBaseLine; QDateTime mValidFrom, mValidTo; }; #endif