2022-05-10 10:06:48 +00:00
|
|
|
// Copyright (C) 2017 The Qt Company Ltd.
|
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
#include "certificateinfo.h"
|
|
|
|
#include "ui_certificateinfo.h"
|
|
|
|
|
|
|
|
CertificateInfo::CertificateInfo(QWidget *parent)
|
|
|
|
: QDialog(parent)
|
|
|
|
{
|
|
|
|
form = new Ui_CertificateInfo;
|
|
|
|
form->setupUi(this);
|
|
|
|
|
2020-02-05 15:09:21 +00:00
|
|
|
connect(form->certificationPathView, &QComboBox::currentIndexChanged,
|
2017-09-21 11:24:07 +00:00
|
|
|
this, &CertificateInfo::updateCertificateInfo);
|
2011-04-27 10:05:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
CertificateInfo::~CertificateInfo()
|
|
|
|
{
|
|
|
|
delete form;
|
|
|
|
}
|
|
|
|
|
|
|
|
void CertificateInfo::setCertificateChain(const QList<QSslCertificate> &chain)
|
|
|
|
{
|
2017-09-21 11:24:07 +00:00
|
|
|
certificateChain = chain;
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
form->certificationPathView->clear();
|
2017-09-21 11:24:07 +00:00
|
|
|
for (int i = 0; i < certificateChain.size(); ++i) {
|
|
|
|
const QSslCertificate &cert = certificateChain.at(i);
|
2011-04-27 10:05:43 +00:00
|
|
|
form->certificationPathView->addItem(tr("%1%2 (%3)").arg(!i ? QString() : tr("Issued by: "))
|
2012-05-18 18:00:23 +00:00
|
|
|
.arg(cert.subjectInfo(QSslCertificate::Organization).join(QLatin1Char(' ')))
|
|
|
|
.arg(cert.subjectInfo(QSslCertificate::CommonName).join(QLatin1Char(' '))));
|
2011-04-27 10:05:43 +00:00
|
|
|
}
|
2011-04-27 17:16:41 +00:00
|
|
|
form->certificationPathView->setCurrentIndex(0);
|
2011-04-27 10:05:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void CertificateInfo::updateCertificateInfo(int index)
|
|
|
|
{
|
|
|
|
form->certificateInfoView->clear();
|
2017-09-21 11:24:07 +00:00
|
|
|
if (index >= 0 && index < certificateChain.size()) {
|
|
|
|
const QSslCertificate &cert = certificateChain.at(index);
|
2011-04-27 10:05:43 +00:00
|
|
|
QStringList lines;
|
2012-05-18 18:00:23 +00:00
|
|
|
lines << tr("Organization: %1").arg(cert.subjectInfo(QSslCertificate::Organization).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Subunit: %1").arg(cert.subjectInfo(QSslCertificate::OrganizationalUnitName).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Country: %1").arg(cert.subjectInfo(QSslCertificate::CountryName).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Locality: %1").arg(cert.subjectInfo(QSslCertificate::LocalityName).join(QLatin1Char(' ')))
|
|
|
|
<< tr("State/Province: %1").arg(cert.subjectInfo(QSslCertificate::StateOrProvinceName).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Common Name: %1").arg(cert.subjectInfo(QSslCertificate::CommonName).join(QLatin1Char(' ')))
|
2011-04-27 10:05:43 +00:00
|
|
|
<< QString()
|
2012-05-18 18:00:23 +00:00
|
|
|
<< tr("Issuer Organization: %1").arg(cert.issuerInfo(QSslCertificate::Organization).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Issuer Unit Name: %1").arg(cert.issuerInfo(QSslCertificate::OrganizationalUnitName).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Issuer Country: %1").arg(cert.issuerInfo(QSslCertificate::CountryName).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Issuer Locality: %1").arg(cert.issuerInfo(QSslCertificate::LocalityName).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Issuer State/Province: %1").arg(cert.issuerInfo(QSslCertificate::StateOrProvinceName).join(QLatin1Char(' ')))
|
|
|
|
<< tr("Issuer Common Name: %1").arg(cert.issuerInfo(QSslCertificate::CommonName).join(QLatin1Char(' ')));
|
2017-09-21 11:24:07 +00:00
|
|
|
for (const auto &line : lines)
|
2011-04-27 10:05:43 +00:00
|
|
|
form->certificateInfoView->addItem(line);
|
|
|
|
}
|
|
|
|
}
|