diff options
Diffstat (limited to 'examples/webenginewidgets/clientcertificate/client.cpp')
-rw-r--r-- | examples/webenginewidgets/clientcertificate/client.cpp | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/examples/webenginewidgets/clientcertificate/client.cpp b/examples/webenginewidgets/clientcertificate/client.cpp deleted file mode 100644 index 1227fa28e..000000000 --- a/examples/webenginewidgets/clientcertificate/client.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (C) 2022 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include <QtCore/qfile.h> -#include <QtNetwork/qsslkey.h> -#include <QtWebEngineCore/qwebenginecertificateerror.h> -#include <QtWebEngineCore/qwebengineclientcertificatestore.h> -#include <QtWebEngineCore/qwebengineprofile.h> -#include <QtWebEngineCore/qwebenginepage.h> -#include <QtWebEngineWidgets/qwebengineview.h> -#include <QtWidgets/qapplication.h> -#include <QtWidgets/qdialog.h> -#include <QtWidgets/qlabel.h> -#include <QtWidgets/qlistwidget.h> -#include <QtWidgets/qpushbutton.h> -#include <QtWidgets/qboxlayout.h> - -int main(int argc, char *argv[]) -{ - QCoreApplication::setOrganizationName("QtExamples"); - QApplication app(argc, argv); - - QFile certFile(":/resources/client.pem"); - certFile.open(QIODevice::ReadOnly); - const QSslCertificate cert(certFile.readAll(), QSsl::Pem); - - QFile keyFile(":/resources/client.key"); - keyFile.open(QIODevice::ReadOnly); - const QSslKey sslKey(keyFile.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey, ""); - - QWebEngineProfile::defaultProfile()->clientCertificateStore()->add(cert, sslKey); - - QWebEnginePage page; - QObject::connect(&page, &QWebEnginePage::certificateError, - [](QWebEngineCertificateError e) { e.acceptCertificate(); }); - - QObject::connect( - &page, &QWebEnginePage::selectClientCertificate, &page, - [&cert](QWebEngineClientCertificateSelection selection) { - QDialog dialog; - QVBoxLayout *layout = new QVBoxLayout; - QLabel *label = new QLabel(QLatin1String("Select certificate")); - QListWidget *listWidget = new QListWidget; - listWidget->setSelectionMode(QAbstractItemView::SingleSelection); - QPushButton *button = new QPushButton(QLatin1String("Select")); - layout->addWidget(label); - layout->addWidget(listWidget); - layout->addWidget(button); - QObject::connect(button, &QPushButton::clicked, [&dialog]() { dialog.accept(); }); - const QList<QSslCertificate> &list = selection.certificates(); - for (const QSslCertificate &cert : list) { - listWidget->addItem(cert.subjectDisplayName() + " : " + cert.serialNumber()); - } - dialog.setLayout(layout); - if (dialog.exec() == QDialog::Accepted) - selection.select(list[listWidget->currentRow()]); - else - selection.selectNone(); - }); - - QWebEngineView view(&page); - view.setUrl(QUrl("https://localhost:5555")); - view.resize(800, 600); - view.show(); - - return app.exec(); -} |