gpt4 book ai didi

Qt 4.7 SSL 错误 : "The certificate has expired”

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:44 24 4
gpt4 key购买 nike

我们使用 OpenSSL 库编译了 QT 代码。但是我们无法加载 HTTPS 网页。 SSL 错误处理程序抛出“证书已过期”异常。我们用了http://orkut.com测试 SSL 问题。

在我们重新编译 Qt 源代码之前发生了什么?

以下错误,当我们尝试启动 HTTPS url 时

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

我们做了什么?

  1. 下载并安装 Win32 OpenSSL v1.0.0d Light
  2. 打开 VS2008 命令提示符
  3. 导航到“C:\Qt\4.7.1”
  4. configure.exe -debug-and-release -webkit -openssl -I C:\OpenSSL-Win32\Include -L C:\OpenSSL-Win32\Lib
  5. nmake

用openSSL dll编译后出错

  1. 当我们尝试使用 webview 加载 SSL url 时,出现以下错误
  2. “证书已过期”
  3. 我们处理了 networkAccessManager sslErrors(QNetworkReply*,QList<QSslError>)显示为“证书过期”错误的事件。
  4. 我们不清楚解决此问题需要哪些额外的设置

当我在 32 位系统中测试我的代码时,OpenSSL dll 按预期工作。当我使用 64 位系统时,出现“证书过期”错误。我正在使用 Qt Creator 32 位版本在 64 位系统中运行我的代码。我也在使用 OpenSSL 32 位版本。

最佳答案

你检查过系统日期是否正常吗?

更新
您似乎遇到了 32/64 位不匹配问题。
如果您的应用程序是 64 位的,您应该使用 64 位版本的 OpenSSL。安装 64 位 OpenSSL 并确保在 Creator 中运行您的应用程序时它位于 PATH 中(您可以在 Projects/Run Settings/Run Environment 中将 OpenSSL 的路径添加到 PATH)

关于Qt 4.7 SSL 错误 : "The certificate has expired” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5321549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com