C++ qt5.7中的SSL连接
自从从Qt 5.4升级到5.7以来,使用C++ qt5.7中的SSL连接,c++,macos,qt,security,ssl,C++,Macos,Qt,Security,Ssl,自从从Qt 5.4升级到5.7以来,使用QNetworkAccessManager::get的SSL连接现在失败,出现错误代码QNetworkReply::UnknownnetwerkerError和错误消息SSLRead failed:-9842 manager = new QNetworkAccessManager(this); connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinish
QNetworkAccessManager::get
的SSL连接现在失败,出现错误代码QNetworkReply::UnknownnetwerkerError
和错误消息SSLRead failed:-9842
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("https://www.myserver.com")));
错误-9842对应于Apple错误(服务器已请求客户端证书)。我们的服务器不请求客户端证书。在终端上使用oppenssl不会出现问题
openssl s_client -connect <my sever>:443
openssl s_客户端-连接:443
在Qt5.4中,使用
QNetworkAccessManager
的SSL连接可以正常工作。在Qt 5.7中进行QNetworkAccessManager
连接时,我是否需要设置一些设置,或者我是否缺少其他设置?如果连接到sslErrors
信号并将错误转储到某个位置(控制台上)?这是在OSX下吗?如果是这样,请注意5.4使用OpenSSL,但5.7使用SecureTransport。所以你的手工测试可能证明不了什么。谢谢你的回复@peppe。是的,它在OS X上。连接到sslErrors
信号不会产生任何附加信息。我将研究使用SecureTransport进行另一个手动测试,例如curl。