xca/widgets/CertDetail.h
Christian Hohnstaedt 7d3ff4f0f9 Add OpenSSL PURPOSE and validation results
A new tab on the certificate details dialog
shows the result of the OpenSSL validation process
and the calculated OpenSSL Purpose.

The translation of the OpenSSL X509_V_ERR.... messsages
back to strings is done by grepping them from "openssl/x509_vfy.h"
and wrapping them into a macro-call.
Additionally guard them by an #ifdef (Zombieland rule #2: Double-Tap)
This way:
 - I don't need to test and check in which versions of OpenSSL
   which errors are available or not
 - New errors will be picked up automatically, as long as they
   match the "X509_V_ERR_" pattern
2024-09-29 14:12:17 +02:00

45 lines
958 B
C++

/* vi: set sw=4 ts=4:
*
* Copyright (C) 2001 - 2010 Christian Hohnstaedt.
*
* All rights reserved.
*/
#ifndef __CERTDETAIL_H
#define __CERTDETAIL_H
#include "ui_CertDetail.h"
#include "lib/pki_x509req.h"
#include "lib/pki_x509.h"
#include "XcaDetail.h"
class pki_x509;
class CertDetail: public XcaDetail, public Ui::CertDetail
{
Q_OBJECT
bool showConf{ false };
QVariant keySqlId{}, issuerSqlId{}, thisSqlId{};
QString conf{}, exts{};
QLabel *labelFromAsn1String(ASN1_STRING *s);
pki_key *myPubKey{}, *tmpPubKey{};
void setCert(pki_x509 *cert);
void setReq(pki_x509req *req);
int tabIndexByName(const QString &tabname) const;
public:
CertDetail(QWidget *w = nullptr);
~CertDetail();
void setX509super(pki_x509super *x);
static void showCert(QWidget *parent, pki_x509super *x);
private slots:
void on_showExt_clicked();
void itemChanged(pki_base *pki) override;
void showPubKey();
void showIssuer();
};
#endif