簡體   English   中英

在Mac上讓OpenSSL與Qt一起使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM