如何在QT5.9中设置SslConfiguration?

问题描述 投票:0回答:1

QT5.9.7 vs2017 msvc2017_64

我的设定:

QSslConfiguration config;
config.setPeerVerifyMode(QSslSocket::VerifyNone);
config.setProtocol(QSsl::TlsV1SslV3);
httpRequest.setSslConfiguration(config);

httpRequest.setUrl(QUrl(strUrl));

QEventLoop eventLoop;
QObject::connect(&networkAccessManager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
QNetworkReply *reply = networkAccessManager.post(httpRequest, data);
eventLoop.exec();
QByteArray tmpQBA = reply->readAll();
QString tmpQStr = QVariant(tmpQBA).toString();

它得到了不好的答复:enter image description here

当使用burpsuite http代理时,得到正确的答复:enter image description here

正确回复enter image description here

那么,如何在没有burpsuite代理的情况下获得正确的回复?

谢谢!

qt https openssl qnetworkaccessmanager
1个回答
0
投票

你应该连接到errorsslErrors信号,看看出了什么问题。

您已从Burp Suite GUI中选择了qazxsw poi。使用自签名证书时,通常会得到qazxsw poi,测试时可以忽略它。

在Qt上你可以Use a self-signed certificate与自签名证书相关如下(来自doc):

SSL Common Name Mismatch Error

当您在生产中切换到最终证书时,您必须记住删除“忽略”代码,以免在软件中留下安全漏洞。

© www.soinside.com 2019 - 2024. All rights reserved.