0
  1. 使用自认证密钥运行 nodejs https 本地服务器进行测试。
  2. 在 QT Application 的 QWebView 中加载https://localhost:8888/index.html 。

QWebView 不显示任何内容。

4

1 回答 1

-1

感谢 gokmen。

以下代码忽略了 ssl 错误。我们可以将这段代码仅用于测试。

https://gist.github.com/gokmen/2558692

App::App(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::App)
{
    ui->setupUi(this);

    QSslConfiguration sslCfg = QSslConfiguration::defaultConfiguration();
    QList ca_list = sslCfg.caCertificates();
    QList ca_new = QSslCertificate::fromData("CaCertificates");
    ca_list += ca_new;

    sslCfg.setCaCertificates(ca_list);
    sslCfg.setProtocol(QSsl::AnyProtocol);
    QSslConfiguration::setDefaultConfiguration(sslCfg);

    connect(ui->webView->page()->networkAccessManager(),
            SIGNAL(sslErrors(QNetworkReply*, const QList & )),
            this,
            SLOT(sslErrorHandler(QNetworkReply*, const QList & )));
}

void App::sslErrorHandler(QNetworkReply* qnr, const QList & errlist)
{
  #if DEBUG_ENABLED
  qDebug() ignoreSslErrors();
}
于 2015-12-16T19:13:02.627 回答