我正在使用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开发环境中都会发生。
答案 0 :(得分:0)
我正在使用-universal
选项编译Qt,为i386和ppc架构生成库,但是我正在编译它的OpenSSL是为x64_86 arch构建的。我为i386和ppc静态构建了OpenSSL,然后编译了Qt,现在一切都很好。