[SCM] ktp-auth-handler packaging branch, master, updated. debian/15.12.1-2-282-g080758e
Maximiliano Curia
maxy at moszumanska.debian.org
Fri May 27 23:58:51 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-auth-handler.git;a=commitdiff;h=f93b301
The following commit has been merged in the master branch:
commit f93b301e684d101d4e0a8c4bd03e247e051d8fd7
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
Date: Sun Oct 28 03:27:11 2012 +0100
Very minimal prompt accept/reject certificate
---
tls-cert-verifier-op.cpp | 33 +++++++++++++++++++++++++++++++--
1 file changed, 31 insertions(+), 2 deletions(-)
diff --git a/tls-cert-verifier-op.cpp b/tls-cert-verifier-op.cpp
index 944fc7a..b58555a 100644
--- a/tls-cert-verifier-op.cpp
+++ b/tls-cert-verifier-op.cpp
@@ -21,8 +21,12 @@
#include <TelepathyQt/PendingVariantMap>
+#include <KMessageBox>
+#include <KLocalizedString>
#include <KDebug>
+#include <QSslCertificate>
+
TlsCertVerifierOp::TlsCertVerifierOp(const Tp::AccountPtr &account,
const Tp::ConnectionPtr &connection,
const Tp::ChannelPtr &channel)
@@ -67,8 +71,33 @@ void TlsCertVerifierOp::gotProperties(Tp::PendingOperation *op)
m_certType = qdbus_cast<QString>(props.value(QLatin1String("CertificateType")));
m_certData = qdbus_cast<CertificateDataList>(props.value(QLatin1String("CertificateChainData")));
- // FIXME: verify cert
- setFinished();
+ if(m_certType.compare(QLatin1String("x509"), Qt::CaseInsensitive)) {
+ kWarning() << "This is not an x509 certificate";
+ }
+
+ Q_FOREACH (const QByteArray &data, m_certData) {
+ // FIXME How to chech if it is QSsl::Pem or QSsl::Der? QSsl::Der works for kdetalk
+ QList<QSslCertificate> certs = QSslCertificate::fromData(data, QSsl::Der);
+ Q_FOREACH (const QSslCertificate &cert, certs) {
+ kDebug() << cert;
+ }
+ }
+
+ //TODO Show a nice dialog
+ if (KMessageBox::questionYesNo(0,
+ i18n("<b>Accept this certificate?</b><br />%1").arg(QString::fromLatin1(m_certData.first().toHex())),
+ i18n("Untrusted certificate")) == KMessageBox::Yes) {
+ // TODO Remember value
+ m_authTLSCertificateIface->Accept().waitForFinished();
+ setFinished();
+ } else {
+ Tp::TLSCertificateRejectionList rejections;
+ // TODO Add reason
+ m_authTLSCertificateIface->Reject(rejections);
+ m_channel->requestClose();
+ setFinishedWithError(QLatin1String("Cert.Untrusted"),
+ QLatin1String("Certificate rejected by the user"));
+ }
}
#include "tls-cert-verifier-op.moc"
--
ktp-auth-handler packaging
More information about the pkg-kde-commits
mailing list