It's been a long time since I fixed that problem. I'm not quite sure exactly what I did. But I'm going to give it a try.
1. Make sure you build Qt with OpenSSL correctly following my instructions here:
http://www.rolandli.com/2009/05/22/b...t-with-openssl
2. I think what I did was reimplemented createRequest function in QNetworkAccess Manager
header file:
class myNetworkAccessManager : public QNetworkAccessManager
{
Q_OBJECT
public:
myNetworkAccessManager ();
protected:
QNetworkReply
* createRequest
( Operation op,
const QNetworkRequest
& req,
QIODevice * outgoingData
= 0 );
};
class myNetworkAccessManager : public QNetworkAccessManager
{
Q_OBJECT
public:
myNetworkAccessManager ();
protected:
QNetworkReply * createRequest ( Operation op, const QNetworkRequest & req, QIODevice * outgoingData = 0 );
};
To copy to clipboard, switch view to plain text mode
source file:
myNetworkAccessManager ::myNetworkAccessManager (){
}
QNetworkReply
* myNetworkAccessManager
::createRequest ( Operation op,
const QNetworkRequest
& req,
QIODevice * outgoingData
){ QSslConfiguration config = req.sslConfiguration();
config.setPeerVerifyMode(QSslSocket::VerifyNone);
config.setProtocol(QSsl::TlsV1);
QNetworkRequest request(req);
request.setSslConfiguration(config);
return QNetworkAccessManager::createRequest(op, request, outgoingData);
}
myNetworkAccessManager ::myNetworkAccessManager (){
}
QNetworkReply * myNetworkAccessManager ::createRequest ( Operation op, const QNetworkRequest & req, QIODevice * outgoingData ){
QSslConfiguration config = req.sslConfiguration();
config.setPeerVerifyMode(QSslSocket::VerifyNone);
config.setProtocol(QSsl::TlsV1);
QNetworkRequest request(req);
request.setSslConfiguration(config);
return QNetworkAccessManager::createRequest(op, request, outgoingData);
}
To copy to clipboard, switch view to plain text mode
Hope this helps. Good luck!
Bookmarks