From 5ebc8d3663df5860f13ec9fe0bf4cce1cb37111b Mon Sep 17 00:00:00 2001 From: Richard Moore Date: Sun, 10 Feb 2013 17:06:34 +0000 Subject: Add an encrypted() signal to QNetworkAccessManager and QNetworkReply. Add an encrypted signal to QNAM and QNetworkReply to allow applications to perform additional checks on the certificate chain beyond those done as part of the standard SSL validation. This allows things like certificate change notification to be implemented for QNAM as they can be for QSSLSocket currently. Change-Id: I693e3e6fec8b7040379b7e7f1f819550e6b2617f Reviewed-by: Peter Hartmann --- .../access/qnetworkreply/tst_qnetworkreply.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'tests/auto/network/access') diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp index 4847dedac4..bcc0641973 100644 --- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -361,6 +361,7 @@ private Q_SLOTS: void ignoreSslErrorsList(); void ignoreSslErrorsListWithSlot_data(); void ignoreSslErrorsListWithSlot(); + void encrypted(); void sslConfiguration_data(); void sslConfiguration(); #ifdef QT_BUILD_INTERNAL @@ -5867,6 +5868,24 @@ void tst_QNetworkReply::sslConfiguration_data() QTest::newRow("secure") << conf << true; } +void tst_QNetworkReply::encrypted() +{ + qDebug() << QtNetworkSettings::serverName(); + QUrl url("https://" + QtNetworkSettings::serverName()); + QNetworkRequest request(url); + QNetworkReply *reply = manager.get(request); + reply->ignoreSslErrors(); + + QSignalSpy spy(reply, SIGNAL(encrypted())); + connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop())); + QTestEventLoop::instance().enterLoop(20); + QVERIFY(!QTestEventLoop::instance().timeout()); + + QCOMPARE(spy.count(), 1); + + reply->deleteLater(); +} + void tst_QNetworkReply::sslConfiguration() { QNetworkRequest request(QUrl("https://" + QtNetworkSettings::serverName() + "/index.html")); -- cgit v1.2.3