Details
-
Bug
-
Resolution: Done
-
P2: Important
-
4.8.4, 5.0.0
-
qtbase: ce35c0db0d9dd849c736eabaeb57d597186aaa13
Description
setting an SSL configuration on a request will make the request fail. The following will produce 'mySlot called "SSL handshake failed" QVariant(Invalid)':
#include <QtCore> #include <QtNetwork> class Test : public QObject { Q_OBJECT public: Test() : QObject() { QNetworkRequest request(QUrl("https://www.gmail.com")); // both lines below fail: QSslConfiguration conf = QSslConfiguration::defaultConfiguration(); //QSslConfiguration conf = request.sslConfiguration(); conf.setProtocol(QSsl::TlsV1_0); request.setSslConfiguration(conf); manager.get(request); connect(&manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(mySlot(QNetworkReply*))); } QNetworkAccessManager manager; public slots: void mySlot(QNetworkReply*); }; void Test::mySlot(QNetworkReply *reply) { qDebug() << "mySlot called" << reply->errorString() << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); QCoreApplication::instance()->quit(); } int main(int argc, char **argv) { QCoreApplication app(argc, argv); Test test; return app.exec(); } #include "main.moc"
Attachments
For Gerrit Dashboard: QTBUG-29103 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
44754,4 | QSslConfiguration: toggle on demand loading of root certs properly | stable | qt/qtbase | Status: MERGED | +2 | 0 |