使用 OpenSSL 抛出 QSslError::NoError 的 QT 静态构建
我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用
-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.