在我的Qt应用程序中,我打开一个QWebView,通过https向服务器发出AJAX请求。
一些代码:
m_network = new QNetworkAccessManager(this);
...
QObject::connect(m_network, SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError> & )),
this, SLOT(sslErrorHandler(QNetworkReply*, const QList<QSslError> & )));
和处理程序:
void MainWin::sslErrorHandler(QNetworkReply* qnr, const QList<QSslError> & errlist) {
foreach (QSslError err, errlist) {
qDebug() << "ssl error: " << err << endl;
}
qnr->ignoreSslErrors();
}
我在某些Windows XP计算机上遇到以下错误,而不是全部,有些工作正常。我在每台机器上都安装了OpenSSL。
Debug: ssl error: "The root certificate of the certificate chain is self-signed, and untrusted"
答案 0 :(得分:3)
检查计算机上时钟的日期和时间。
某些安全软件拦截安全连接并发送自己的证书。
一些例子是ESET和Bitdefender。
ESET设置 - &gt;高级设置 - &gt;扩展网络和电子邮件树 - &gt; SSL SSL协议:不扫描SSL协议