xca/lib/db_x509.h
Christian Hohnstaedt 60aefeac53 Close #313: Support JWK export format of certificates
The "x5t" and "x5t#256" properties are always present.
The "x5c" Certificate chain can be optionally selected.
2024-09-13 10:41:16 +02:00

77 lines
2.1 KiB
C++

/* vi: set sw=4 ts=4:
*
* Copyright (C) 2001 - 2010 Christian Hohnstaedt.
*
* All rights reserved.
*/
#ifndef __DB_X509_H
#define __DB_X509_H
#include "pki_export.h"
#include "db_x509super.h"
#include "asn1int.h"
#include "x509rev.h"
class pki_x509req;
class pki_x509;
class pki_temp;
class pki_crl;
class db_x509: public db_x509super
{
Q_OBJECT
static void writeTaggedPEM(const BioByteArray &b,
const QString &tag, XFile &file);
protected:
dbheaderList getHeaders();
void dereferenceIssuer();
public:
db_x509();
pki_base *newPKI(enum pki_type type = none);
pki_x509 *findIssuer(pki_x509 *client);
virtual void loadContainer();
bool updateView();
void updateViewAll();
void updateViewPKI(pki_base *pki);
void remFromCont(const QModelIndex &idx);
QList<pki_x509*> getAllIssuers();
QList<pki_x509*> getCerts(bool unrevoked);
void writeIndex(const QString &fname, bool hierarchy) const;
void writeIndex(XFile &file, QList<pki_x509*> items) const;
pki_base *insert(pki_base *item);
void markRequestSigned(pki_x509req *req, pki_x509 *cert);
pki_x509 *newCert(NewX509 *dlg);
void newCert(pki_x509 *cert);
void writePKCS12(pki_x509 *cert, XFile &file, bool chain) const;
void writePKCS7(pki_x509 *cert, XFile &file, int flags,
const QModelIndexList &list) const;
void fillContextMenu(QMenu *menu, const QModelIndex &index);
void inToCont(pki_base *pki);
a1int getUniqueSerial(pki_x509 *signer);
void toToken(QModelIndex idx, bool alwaysSelect);
void toRequest(QModelIndex idx);
void updateCaProperties(pki_x509 *cert);
void toCertificate(QModelIndex index);
void certRenewal(QModelIndexList indexes);
void revoke(QModelIndexList indexes);
void do_revoke(QModelIndexList indexes, const x509rev &r);
void unRevoke(QModelIndexList indexes);
int exportFlags(const QModelIndex &idx) const;
void exportItems(const QModelIndexList &indexes,
const pki_export *xport, XFile &file) const;
void exportItem(const QModelIndex &, const pki_export *, XFile &) const;
public slots:
void newItem();
void newCert(pki_temp *);
void newCert(pki_x509req *);
};
#endif