[英]getting openSSL to work with Qt on mac
我正在對Google地圖進行一些api調用,其中一些需要加密,因此我使用的是https。 每當我使用https發出請求時,都會收到錯誤消息:
qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_client_callback
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated
使用http時也會出現這些錯誤,但是我仍然會收到所需的數據,而使用https則不會。 我看到這顯然是因為我沒有安裝openSSL,所以我檢查並安裝了0.9.8版,因此我安裝了較新的版本(1.0.2)(請注意,我在Mac上)但仍然存在相同的問題。 我已經看到了很多類似的問題,但是要么沒有解決方案,要么沒有解決方案,或者我不知道該怎么做。
我運行了以下代碼:
qDebug() << "Support SSL: " << QSslSocket::supportsSsl()
<< "\nLib Version Number: " << QSslSocket::sslLibraryVersionNumber()
<< "\nLib Version String: " << QSslSocket::sslLibraryVersionString()
<< "\nLib Build Version Number: " << QSslSocket::sslLibraryBuildVersionNumber()
<< "\nLib Build Version String: " << QSslSocket::sslLibraryBuildVersionString();
並收到輸出:
qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_client_callback
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
Support SSL: true
Lib Version Number: 9470431
Lib Version String: "OpenSSL 0.9.8zg 14 July 2015"
Lib Build Version Number: 268439727
Lib Build Version String: "OpenSSL 1.0.1j 15 Oct 2014"
列出的版本與我最近安裝的版本不相關,所以問題可能出在未使用新版本嗎?
如果有人知道如何解決此問題,以便我可以正確使用https,請給出具體說明,因為我經驗不足。
謝謝
SSL警告不是致命的。 安全連接應繼續起作用。 根據此已關閉的錯誤報告,您可以通過設置以下環境變量來禁止顯示這些消息:
QT_LOGGING_RULES=qt.network.ssl.warning=false
另外,我相當確定這些警告消息(或非常類似的消息)會出現在OS X以外的平台上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.