1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
/* vi: set sw=4 ts=4:
*
* Copyright (C) 2001 - 2012 Christian Hohnstaedt.
*
* All rights reserved.
*/
#include "CrlDetail.h"
#include "CertDetail.h"
#include "MainWindow.h"
#include "Help.h"
#include "distname.h"
#include "clicklabel.h"
#include "RevocationList.h"
#include "OpenDb.h"
#include "OidResolver.h"
#include "lib/pki_crl.h"
#include <QLabel>
#include <QTextEdit>
#include <QLineEdit>
CrlDetail::CrlDetail(QWidget *w) : XcaDetail(w)
{
setupUi(this);
init("crldetail", ":revImg");
}
void CrlDetail::setCrl(pki_crl *crl)
{
pki_x509 *iss;
x509v3ext e1, e2;
connect_pki(crl);
iss = crl->getIssuer();
crlSqlId = crl->getSqlItemId();
signCheck->disableToolTip();
signCheck->setClickText(crl->getSigAlg());
if (iss != NULL) {
issuerIntName->setText(iss->getIntName());
issuerIntName->setClickText(iss->getSqlItemId().toString());
issuerIntName->setGreen();
if (crl->verify(iss)) {
signCheck->setText(crl->getSigAlg());
signCheck->setGreen();
} else {
signCheck->setText(tr("Failed"));
signCheck->setRed();
}
issuerSqlId = iss->getSqlItemId();
} else {
issuerIntName->setText(tr("Unknown signer"));
issuerIntName->setDisabled(true);
issuerIntName->disableToolTip();
signCheck->setText(tr("Verification not possible"));
signCheck->setDisabled(true);
}
connect(signCheck, SIGNAL(doubleClicked(QString)),
MainWindow::getResolver(), SLOT(searchOid(QString)));
connect(issuerIntName, SIGNAL(doubleClicked(QString)),
this, SLOT(showIssuer()));
description->setText(crl->getIntName());
lUpdate->setText(crl->getLastUpdate().toPretty());
lUpdate->setToolTip(crl->getLastUpdate().toPrettyGMT());
nUpdate->setText(crl->getNextUpdate().toPretty());
nUpdate->setToolTip(crl->getNextUpdate().toPrettyGMT());
version->setText((++crl->getVersion()));
issuer->setX509name(crl->getSubject());
RevocationList::setupRevocationView(certList, crl->getRevList(), iss);
v3extensions->document()->setHtml(crl->printV3ext());
comment->setPlainText(crl->getComment());
}
void CrlDetail::itemChanged(pki_base *pki)
{
QVariant pkiSqlId = pki->getSqlItemId();
if (pkiSqlId == issuerSqlId)
issuerIntName->setText(pki->getIntName());
if (pkiSqlId == crlSqlId)
description->setText(pki->getIntName());
}
void CrlDetail::showIssuer()
{
CertDetail::showCert(this, Store.lookupPki<pki_x509>(issuerSqlId));
}
void CrlDetail::showCrl(QWidget *parent, pki_crl *crl)
{
if (!crl)
return;
CrlDetail *dlg = new CrlDetail(parent);
dlg->setCrl(crl);
dlg->exec();
delete dlg;
}
|