⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ksslinfodlg.cc

📁 konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版本源码包.
💻 CC
📖 第 1 页 / 共 2 页
字号:
    update();    layout->addWidget(new QLabel(i18n("Valid from:"), this), 3, 0);    layout->addWidget(d->_validFrom = new QLabel("", this), 3, 1);    layout->addWidget(new QLabel(i18n("Valid until:"), this), 4, 0);    layout->addWidget(d->_validUntil = new QLabel("", this), 4, 1);    layout->addWidget(new QLabel(i18n("Serial number:"), this), 5, 0);    layout->addWidget(d->_serialNum = new QLabel("", this), 5, 1);    layout->addWidget(new QLabel(i18n("MD5 digest:"), this), 6, 0);    layout->addWidget(d->_digest = new QLabel("", this), 6, 1);    layout->addWidget(new QLabel(i18n("Cipher in use:"), this), 7, 0);    layout->addWidget(new QLabel(cipher, this), 7, 1);    layout->addWidget(new QLabel(i18n("Details:"), this), 8, 0);    layout->addWidget(new QLabel(cipherdesc.simplifyWhiteSpace(), this), 8, 1);    layout->addWidget(new QLabel(i18n("SSL version:"), this), 9, 0);    layout->addWidget(new QLabel(sslversion, this), 9, 1);    layout->addWidget(new QLabel(i18n("Cipher strength:"), this), 10, 0);    layout->addWidget(new QLabel(i18n("%1 bits used of a %2 bit cipher").arg(usedbits).arg(bits), this), 10, 1);    d->m_layout->addMultiCell(layout, 2, 2, 0, 2);    displayCert(cert);}void KSSLInfoDlg::setCertState(const QString &errorNrs){    d->_cert_ksvl.clear();    QStringList errors = QStringList::split(':', errorNrs);    for(QStringList::ConstIterator it = errors.begin();            it != errors.end(); ++it)    {        d->_cert_ksvl << (KSSLCertificate::KSSLValidation) (*it).toInt();    }}void KSSLInfoDlg::displayCert(KSSLCertificate *x) {    QPalette cspl;    d->_serialNum->setText(x->getSerialNumber());    cspl = d->_validFrom->palette();    if (x->getQDTNotBefore() > QDateTime::currentDateTime(Qt::UTC))        cspl.setColor(QColorGroup::Foreground, QColor(196,33,21));    else cspl.setColor(QColorGroup::Foreground, QColor(42,153,59));    d->_validFrom->setPalette(cspl);    d->_validFrom->setText(x->getNotBefore());    cspl = d->_validUntil->palette();    if (x->getQDTNotAfter() < QDateTime::currentDateTime(Qt::UTC))        cspl.setColor(QColorGroup::Foreground, QColor(196,33,21));    else cspl.setColor(QColorGroup::Foreground, QColor(42,153,59));    d->_validUntil->setPalette(cspl);    d->_validUntil->setText(x->getNotAfter());    cspl = palette();    KSSLCertificate::KSSLValidation ksv;    KSSLCertificate::KSSLValidationList ksvl;    if ((x == d->_cert) && !d->_cert_ksvl.isEmpty()) {        ksvl = d->_cert_ksvl;        ksv = ksvl.first();    } else {        if (x == d->_cert)            ksvl = d->_cert->validateVerbose(KSSLCertificate::SSLServer);        else            ksvl = d->_cert->validateVerbose(KSSLCertificate::SSLServer, x);        if (ksvl.isEmpty())            ksvl << KSSLCertificate::Ok;        ksv = ksvl.first();        if (ksv == KSSLCertificate::SelfSigned) {            if (x->getQDTNotAfter() > QDateTime::currentDateTime(Qt::UTC) &&                    x->getQDTNotBefore() < QDateTime::currentDateTime(Qt::UTC)) {                if (KSSLSigners().useForSSL(*x))                    ksv = KSSLCertificate::Ok;            } else {                ksv = KSSLCertificate::Expired;            }        }    }    if (ksv == KSSLCertificate::Ok) {        cspl.setColor(QColorGroup::Foreground, QColor(42,153,59));    } else if (ksv != KSSLCertificate::Irrelevant) {        cspl.setColor(QColorGroup::Foreground, QColor(196,33,21));    }    d->_csl->setPalette(cspl);    QString errorStr;    for(KSSLCertificate::KSSLValidationList::ConstIterator it = ksvl.begin();            it != ksvl.end(); ++it) {        if (!errorStr.isEmpty())            errorStr.append('\n');        errorStr += KSSLCertificate::verifyText(*it);    }    d->_csl->setText(errorStr);    d->_csl->setMinimumSize(d->_csl->sizeHint());    d->_subject->setValues(x->getSubject());    d->_issuer->setValues(x->getIssuer());    d->_digest->setText(x->getMD5DigestText());}void KSSLInfoDlg::slotChain(int x) {    if (x == 0) {        displayCert(d->_cert);    } else {        QPtrList<KSSLCertificate> cl = d->_cert->chain().getChain();        cl.setAutoDelete(true);        for (int i = 0; i < x-1; i++)            cl.remove((unsigned int)0);        KSSLCertificate thisCert = *(cl.at(0));        cl.remove((unsigned int)0);        thisCert.chain().setChain(cl);        displayCert(&thisCert);    }}KSSLCertBox *KSSLInfoDlg::certInfoWidget(QWidget *parent, const QString &certName, QWidget *mailCatcher) {    KSSLCertBox *result = new KSSLCertBox(parent);    if (!certName.isEmpty()) {        result->setValues(certName, mailCatcher);    }    return result;}KSSLCertBox::KSSLCertBox(QWidget *parent, const char *name, WFlags f): QScrollView(parent, name, f){    _frame = 0L;    setBackgroundMode(QWidget::PaletteButton);    setValues(QString::null, 0L);}void KSSLCertBox::setValues(QString certName, QWidget *mailCatcher) {    if (_frame) {        removeChild(_frame);        delete _frame;    }    if (certName.isEmpty()) {        _frame = new QFrame(this);        addChild(_frame);        viewport()->setBackgroundMode(_frame->backgroundMode());        _frame->show();        updateScrollBars();        show();        return;    }    KSSLX509Map cert(certName);    QString tmp;    viewport()->setBackgroundMode(QWidget::PaletteButton);    _frame = new QFrame(this);    QGridLayout *grid = new QGridLayout(_frame, 1, 2, KDialog::marginHint(), KDialog::spacingHint());    grid->setAutoAdd(true);    QLabel *label = 0L;    if (!(tmp = cert.getValue("O")).isEmpty()) {        label = new QLabel(i18n("Organization:"), _frame);        label->setAlignment(Qt::AlignLeft | Qt::AlignTop);        new QLabel(tmp, _frame);    }    if (!(tmp = cert.getValue("OU")).isEmpty()) {        label = new QLabel(i18n("Organizational unit:"), _frame);        label->setAlignment(Qt::AlignLeft | Qt::AlignTop);        new QLabel(tmp, _frame);    }    if (!(tmp = cert.getValue("L")).isEmpty()) {        label = new QLabel(i18n("Locality:"), _frame);        label->setAlignment(Qt::AlignLeft | Qt::AlignTop);        new QLabel(tmp, _frame);    }    if (!(tmp = cert.getValue("ST")).isEmpty()) {        label = new QLabel(i18n("Federal State","State:"), _frame);        label->setAlignment(Qt::AlignLeft | Qt::AlignTop);        new QLabel(tmp, _frame);    }    if (!(tmp = cert.getValue("C")).isEmpty()) {        label = new QLabel(i18n("Country:"), _frame);        label->setAlignment(Qt::AlignLeft | Qt::AlignTop);        new QLabel(tmp, _frame);    }    if (!(tmp = cert.getValue("CN")).isEmpty()) {        label = new QLabel(i18n("Common name:"), _frame);        label->setAlignment(Qt::AlignLeft | Qt::AlignTop);        new QLabel(tmp, _frame);    }    if (!(tmp = cert.getValue("Email")).isEmpty()) {        label = new QLabel(i18n("Email:"), _frame);        label->setAlignment(Qt::AlignLeft | Qt::AlignTop);        if (mailCatcher) {            KURLLabel *mail = new KURLLabel(tmp, tmp, _frame);            connect(mail, SIGNAL(leftClickedURL(const QString &)), mailCatcher, SLOT(mailClicked(const QString &)));        } else {            new QLabel(tmp, _frame);        }    }    if (label && viewport()) {        viewport()->setBackgroundMode(label->backgroundMode());    }    addChild(_frame);    updateScrollBars();    _frame->show();    show();}QScrollView *KSSLInfoDlg::buildCertInfo(const QString &certName) {    return KSSLInfoDlg::certInfoWidget(this, certName, this);}void KSSLInfoDlg::urlClicked(const QString &url) {    kapp->invokeBrowser(url);}void KSSLInfoDlg::mailClicked(const QString &url) {    kapp->invokeMailer(url, QString::null);}#include "ksslinfodlg.moc"// vim: ts=4 sw=4 et

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -