Qt QWebView 证书链的根证书是自签名的,不受信任

标签 qt ssl ssl-certificate

在我的 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" 

最佳答案

检查计算机时钟中的日期和时间。

一些安全软件拦截安全连接并发送它们自己的证书。

一些例子是 ESET 和 Bitdefender。

ESET 设置 -> 高级设置 -> 扩展 Web 和电子邮件树 -> SSL SSL协议(protocol):不扫描SSL协议(protocol)

关于Qt QWebView 证书链的根证书是自签名的,不受信任,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432561/

相关文章:

c++ - Qt - 清除 QTableView 的内容

ubuntu - Jenkins 在 'git pull' 上失败

python - 无法使用 python HTTPSConnection() 连接到 Web 服务器

qt - 如何在工具提示中绘制内容?

c++ - QInputDialog.getItem() 获取项目索引

java - 如何为线程池服务器预分配对象?

ssl - 证书链接错误 : PKIX path validation failed

web-services - 为 IIS 应用程序池帐户安装客户端证书

powershell - 如何使用 Powershell 设置证书的权限?

macos - OSX 10.5.8 上的 Qt : "The root CA certificate is not trusted for this purpose"