view ui/certificate.h @ 84:00a93409e93e

Keep raw data around to later pass it to the installer
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 20 Mar 2014 16:21:27 +0000
parents ba8a548ff252
children f1ebab8639dc
line wrap: on
line source
#ifndef CERTIFICATE_H
#define CERTIFICATE_H
/**
 * @file certificate.h
 * @brief Class around native certificates.
 *
 */

#include <QByteArray>
#include <QString>

#ifdef Q_OS_WIN
#include <windows.h>
#include <wincrypt.h>
#endif

#include <polarssl/x509_crt.h>

class Certificate
{
public:
    /** @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);

    ~Certificate();

    /** @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
     *
     **/
    const QString& shortDescription() const {return mShortDescription;}

    /** @brief get details for the certificate
     *
     * Get the X509 information that is returned by x509_crt_info
     *
     **/
    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;}

private:
    bool mValid;

    QString mDetails;
    QString mShortDescription;
    QString mBaseLine;

    x509_crt mX509Cert;
};
#endif

http://wald.intevation.org/projects/trustbridge/