I solved my problem.
I remote debugged my application running on Server 2008. After stepping through some QT code, I noticed an SSL handshake error.
I ended up creating a custom NetworkAccessManager where I overrode the createRequest method.
Inside the createRequest method, I grabbed the sslConfiguration object from the request object and called setPeerVerifyMode(QSslSocket::VerifyNone).
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);
}
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
Perhaps someone knows why the SSL is failing to handshake on my Server 2008 box but not my Windows 7?
Bookmarks