/* 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 getAllIssuers(); QList getCerts(bool unrevoked); void writeIndex(const QString &fname, bool hierarchy) const; void writeIndex(XFile &file, QList 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