相关疑难解决方法(0)

使用QSslSocket时未解决的函数

我尝试运行一个用Qt编写的简单程序,并使用QSslSocket.我在安装OpenSSL的Ubuntu 12.04机器上运行该程序.但是我遇到了以下错误:

QSslSocket: cannot call unresolved function SSLv3_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
Run Code Online (Sandbox Code Playgroud)

我该如何解决这些错误?

qt openssl

17
推荐指数
2
解决办法
3万
查看次数

不使用SSL时出现QSslSocket错误

我注意到我的两个Qt应用程序中的这个输出使用QNetworkRequest通过QNeworkRequest从外部加载一些数据:

QSslSocket: cannot resolve TLSv1_1_client_method
QSslSocket: cannot resolve TLSv1_2_client_method
QSslSocket: cannot resolve TLSv1_1_server_method
QSslSocket: cannot resolve TLSv1_2_server_method
QSslSocket: cannot resolve SSL_select_next_proto
QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
Run Code Online (Sandbox Code Playgroud)

导致出现这些警告的请求的一个示例是

QNetworkReply reply = m_nam->get(QNetworkRequest(QUrl("http://api.openweathermap.org/data/2.5/forecast?id=2835297&mode=xml")));
Run Code Online (Sandbox Code Playgroud)

我有理由相信任何查询都没有TLS/SSL,都是普通的HTTP.无论URL如何,消息始终在分派第一个请求后出现.我根本不打算使用SSL,代码中没有提到SSL,这意味着我不能以编程方式忽略警告.

我的设置是Windows 7 64位,MSVC2013和MinGW,Qt 5.3.2.无论使用何种编译器,都会显示消息.未安装OpenSSL或其他SSL开发库.

问题是:我如何摆脱这些警告?

ssl qt qsslsocket

11
推荐指数
2
解决办法
2万
查看次数

QSslSocket:无法调用未解析的函数

我使用Qt Creator 4.2.0运行Qt 5.7.1(MSVC 2015,32位).我有问题QSslSocket.我收到以下错误:

qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
Run Code Online (Sandbox Code Playgroud)

我去了以下位置openssl github并下载了zip文件.我已将"libeay32.dll"和"ssleay32.dll"文件移到我的发布目录中,我仍然遇到这些错误.有没有人QSslSocket能够让我的步骤让套接字工作或有任何建议?

c++ qt qsslsocket

10
推荐指数
3
解决办法
1万
查看次数

ssl套接字不支持错误

我在linux centos 6.6上运行龙卷风webserver以获得安全的websocket连接.我正在使用Qt/c ++客户端通过打开像"wss://191.23.4.56/etr/job"这样的URL来使用QWebsocket进行连接.我收到的错误是" 此平台不支持SSL套接字 "这个错误是什么?

qt tornado websocket

6
推荐指数
1
解决办法
1659
查看次数

在Qt C++中使用OpenSSL

我有一个示例项目,它使用QSslSocketQSslCertificate从SSL证书中获取信息(Qt 5.7,Windows 10).QSslSocket::supportsSsl()函数返回false,我在运行时得到这些错误:

qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
Run Code Online (Sandbox Code Playgroud)

所以我编译了OpenSSL_1.1.0并将其链接到我的项目:

INCLUDEPATH += . "C:/OpenSSL-Win32/include/" LIBS +=
-L"C:/OpenSSL-Win32/lib/" -llibcrypto -llibssl
Run Code Online (Sandbox Code Playgroud)

但仍然是同样的错误.我下载了OpenSSL安装程序,但仍然如此.

奇怪的是QSslSocket::sslLibraryBuildVersionString()返回OpenSSL 1.0.2g 1 Mar 2016,即使我编译并安装了OpenSSL_1.1.0.

我知道我错过了一个简单的细节.请告诉我它是什么.谢谢.

c++ ssl qt openssl

4
推荐指数
1
解决办法
6475
查看次数

标签 统计

qt ×5

c++ ×2

openssl ×2

qsslsocket ×2

ssl ×2

tornado ×1

websocket ×1