aheinecke@21: #ifndef CERTIFICATE_H aheinecke@21: #define CERTIFICATE_H aheinecke@21: /** aheinecke@21: * @file certificate.h aheinecke@21: * @brief Class around native certificates. aheinecke@21: * aheinecke@21: */ aheinecke@21: aheinecke@21: #include aheinecke@21: #include aheinecke@21: aheinecke@21: #ifdef Q_OS_WIN aheinecke@21: #include aheinecke@21: #include aheinecke@21: #endif aheinecke@21: aheinecke@82: #include aheinecke@82: aheinecke@21: class Certificate aheinecke@21: { aheinecke@21: public: aheinecke@83: /** @brief construct a certificate from a line of a certificate list. aheinecke@83: * aheinecke@83: * The first two characters of the string are expected to be aheinecke@83: * the command. I: or R: aheinecke@83: * aheinecke@83: * @param[in] b64Line The line from the certificate list. aheinecke@21: **/ aheinecke@83: Certificate(const QString& b64Line); aheinecke@21: aheinecke@21: ~Certificate(); aheinecke@21: aheinecke@21: /** @brief check if this certificate could be parsed */ aheinecke@78: bool isValid() const {return mValid;} aheinecke@21: aheinecke@21: /** @brief get a short description of the certificate aheinecke@21: * aheinecke@21: * This description should be used as a short overview aheinecke@21: * for this certificate aheinecke@21: * aheinecke@21: **/ aheinecke@83: const QString& shortDescription() const {return mShortDescription;} aheinecke@83: aheinecke@83: /** @brief get details for the certificate aheinecke@83: * aheinecke@83: * Get the X509 information that is returned by x509_crt_info aheinecke@83: * aheinecke@83: **/ aheinecke@83: const QString& details() const {return mDetails;} aheinecke@83: aheinecke@83: /** @brief get the line from which this certificate was constructed aheinecke@83: * aheinecke@83: * The resulting line includes the instruction e.g. aheinecke@83: * aheinecke@83: * I:BASE64ENCODEDATA... aheinecke@83: * aheinecke@83: **/ aheinecke@83: const QString& base64Line() const {return mBaseLine;} aheinecke@21: aheinecke@21: private: aheinecke@21: bool mValid; aheinecke@83: aheinecke@83: QString mDetails; aheinecke@21: QString mShortDescription; aheinecke@83: QString mBaseLine; aheinecke@21: aheinecke@82: x509_crt mX509Cert; aheinecke@21: }; aheinecke@21: #endif