我有一个基于Qt QWebKit的应用程序需要使用HTTPS与网页交谈。我已经下载了QtSDK以及OpenSSL二进制文件(from here)。如何将基于Qt WebKit的应用程序分发OpenSSL到Windows?
我的问题在于部署我的应用程序。我已经将相关的Qt DLL文件以及相关的OpenSSL DLL文件(libeay32.dll
和ssleay32.dll
)复制到我的应用程序目录中,但是当我尝试从我的应用程序中访问HTTPS网页时,它将失败!该应用程序不会崩溃,但该页面是空白的。普通的HTTP页面工作得很好。
很明显,我的应用程序如何分发OpenSSL存在错误,我只是不确定自己出错的位置。
我真的不想将OpenSSL安装程序与我的应用程序捆绑在一起。
您确定您正在检查所有呼叫站点的OpenSSL错误返回,并且可能记录日志或以其他方式显示意外的错误结果吗?我很容易想象到系统中缺少证书存储或者无效的日期/时间,导致证书链验证错误在“正常”测试期间可能不会弹出... – sarnold 2012-02-03 00:44:50
这是一个很好的观点。我在其他地方看过,未处理的OpenSSL错误会导致加载HTTPS页面暂停。在我的情况下,我处理所有OpenSSL错误(通过忽略它们),但错误处理程序从未被我的QNetworkManager调用。 – 2012-02-08 23:19:41