[英]Qt 4.7 SSL error : "The certificate has expired”
我們使用OpenSSL庫編譯了QT代碼。 但是我們無法加載HTTPS網頁。 SSL錯誤處理程序引發“證書已過期”異常。 我們使用http://orkut.com來測試SSL問題。
重新編譯Qt源之前發生了什么?
當我們嘗試啟動HTTPS網址時出現以下錯誤
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
QSslSocket: cannot call unresolved function ERR_error_string
我們做了什么?
configure.exe -debug-and-release -webkit -openssl -IC:\\OpenSSL-Win32\\Include -LC:\\OpenSSL-Win32\\Lib
nmake
使用openSSL dll編譯后出現錯誤
sslErrors(QNetworkReply*,QList<QSslError>)
事件,該事件顯示為“證書已過期”錯誤。 當我在32位系統中測試代碼時,OpenSSL dll可以按預期工作。 當我使用64位系統時,出現“證書過期”錯誤。 我正在使用Qt Creator 32位版本在64位系統中運行我的代碼。 我也使用OpenSSL 32位版本。
您檢查系統日期是否正確嗎?
UPDATE
看來您有32/64位不匹配的問題。
如果您的應用是64位,則應使用64位版本的OpenSSL。 從Creator中運行應用程序時,安裝64位OpenSSL並確保它位於PATH中(您可以在Projects / Run Settings / Run Environment中將OpenSSL的路徑添加到PATH)
您尚未正確部署-Qt在運行時無法找到openssl DLL,這就是為什么您收到無法調用未解決的函數消息的原因。 但是,不知道為什么會結合使用此證書而導致過期證書錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.