Как загрузить URL-адрес самосертифицированного сервера https nodejs внутри QWebView

  1. Запуск локального сервера nodejs https с самозаверенным ключом для тестирования.
  2. Загрузите https://localhost:8888/index.html внутри QWebView приложения QT.

QWebView не показывает контент.

1 ответ

Спасибо гокменам.

Следующий код игнорирует ошибки 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();
}
Другие вопросы по тегам