使用 OpenSSL 抛出 QSslError::NoError 的 QT 静态构建

发布于 2024-12-28 17:25:41 字数 757 浏览 1 评论 0原文

我正在使用 SSL 使用 QT 构建一个应用程序。当我使用 QT SDK(动态链接)编译应用程序时,应用程序会抛出以下三个错误:

QSslError::UnableToGetLocalIssuerCertificate
QSslError::UnableToVerifyFirstCertificate
QSslError::CertificateUntrusted

我使用以下代码处理这些错误:

QSslError error0(QSslError::UnableToGetLocalIssuerCertificate, cert.at(0));
expectedSslErrors.append(error0);
QSslError error1(QSslError::UnableToVerifyFirstCertificate, cert.at(0));
expectedSslErrors.append(error1);
QSslError error2(QSslError::CertificateUntrusted, cert.at(0));
expectedSslErrors.append(error2);
this->socket->ignoreSslErrors(expectedSslErrors);

使用动态链接,一切都很好。但是,当我使用静态编译的 QT 编译此代码时,我会抛出三次 QSslError::NoError

Mac 和 Windows 开发环境都会发生这种情况。

I am building an app with QT using SSL. When I compile the app with the QT SDK (dynamic linking), the app throws the following three errors:

QSslError::UnableToGetLocalIssuerCertificate
QSslError::UnableToVerifyFirstCertificate
QSslError::CertificateUntrusted

I handle these errors with the following code:

QSslError error0(QSslError::UnableToGetLocalIssuerCertificate, cert.at(0));
expectedSslErrors.append(error0);
QSslError error1(QSslError::UnableToVerifyFirstCertificate, cert.at(0));
expectedSslErrors.append(error1);
QSslError error2(QSslError::CertificateUntrusted, cert.at(0));
expectedSslErrors.append(error2);
this->socket->ignoreSslErrors(expectedSslErrors);

With dynamic linking, everything is fine. But when I compile this code using a Statically compiled QT, I get QSslError::NoError thrown thrice.

This happens on both Mac and Windows development environments.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甲如呢乙后呢 2025-01-04 17:25:41

我使用 -universal 选项编译 Qt,为 i386 和 ppc 架构生成库,但我用来编译它的 OpenSSL 是为 x64_86 架构构建的。我为 i386 和 ppc 静态构建了 OpenSSL,然后编译了 Qt,现在一切都很好。

I was compiling Qt with -universal option, to generate libraries for both i386 and ppc architectures, but the OpenSSL that I was compiling it with, was built for x64_86 arch. I built OpenSSL statically for both i386 and ppc, and then compiled Qt and everything is fine now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文