-
This commit is contained in:
@@ -37,6 +37,25 @@ WebviewWindow::WebviewWindow(WebviewWindow *parent)
|
||||
}
|
||||
|
||||
|
||||
void WebviewWindow::handleCertificate(const QWebEngineCertificateError &certificateError)
|
||||
{
|
||||
QList<QSslCertificate> chain = certificateError.certificateChain();
|
||||
int i;
|
||||
for(i = 0; i < chain.size(); i++) {
|
||||
const QSslCertificate &cert = chain[i];
|
||||
if (cert.isSelfSigned()) {
|
||||
QStringList l = cert.issuerInfo(QSslCertificate::OrganizationalUnitName);
|
||||
if (!l.empty()) {
|
||||
QString ou = l[0];
|
||||
if (ou != "" && ou == _ou_token) {
|
||||
QWebEngineCertificateError &e = const_cast<QWebEngineCertificateError &>(certificateError);
|
||||
e.acceptCertificate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void WebviewWindow::processJsEvents()
|
||||
{
|
||||
QWebEnginePage *p = _view->page();
|
||||
@@ -101,6 +120,11 @@ int WebviewWindow::resizeCount()
|
||||
return _resized;
|
||||
}
|
||||
|
||||
void WebviewWindow::setOUToken(const QString &token)
|
||||
{
|
||||
_ou_token = token;
|
||||
}
|
||||
|
||||
void WebviewWindow::addView(WebViewQt *v, Rktwebview_qt *c)
|
||||
{
|
||||
_container = c;
|
||||
@@ -143,6 +167,7 @@ void WebviewWindow::addView(WebViewQt *v, Rktwebview_qt *c)
|
||||
connect(page, &QWebEnginePage::loadStarted, this, [this]() {
|
||||
_container->onPageLoad(_view->id());
|
||||
});
|
||||
connect(page, &QWebEnginePage::certificateError, this, &WebviewWindow::handleCertificate);
|
||||
}
|
||||
|
||||
WebViewQt *WebviewWindow::view()
|
||||
|
||||
Reference in New Issue
Block a user