- 使用自认证密钥运行 nodejs https 本地服务器进行测试。
- 在 QT Application 的 QWebView 中加载https://localhost:8888/index.html 。
QWebView 不显示任何内容。
感谢 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();
}