diff --git a/src/logingui.cpp b/src/logingui.cpp index 2d7fc18d0a5ef2e5cb2fb9749c01cf7bc9900b36..8741233188d961c5e961c75610d4f1c63ecba304 100644 --- a/src/logingui.cpp +++ b/src/logingui.cpp @@ -30,8 +30,10 @@ #include <QTimer> #include <QPalette> #include <QPixmap> +#include <QSslConfiguration> #include <QUrl> +#include "cacertificates.h" #include "clientgui.h" #include "command.h" #include "legalstuff.h" @@ -63,8 +65,13 @@ void LoginGui::doLogin() _ui.txtStartPin->setEnabled(false); _ui.cmdLogin->setEnabled(false); - logInfo(QStringLiteral("Opening web socket to address ws://") + _ui.txtUrl->text()); + logInfo(QStringLiteral("Opening web socket to address wss://") + _ui.txtUrl->text()); _socket.reset(new QWebSocket); + + QSslConfiguration sslconfig = _socket->sslConfiguration(); + sslconfig.setCaCertificates(CaCertificates::getCaCertificatesFromResource()); + _socket->setSslConfiguration(sslconfig); + connect(_socket.get(), QOverload<QAbstractSocket::SocketError>::of(&QWebSocket::error), this, &LoginGui::socketError); connect(_socket.get(), &QWebSocket::connected, this, &LoginGui::sendAuthenticateMessage); connect(_socket.get(), &QWebSocket::textFrameReceived, this, &LoginGui::receivedMessageFromServer); @@ -73,7 +80,7 @@ void LoginGui::doLogin() _ui.pbStatus->setMinimum(0); // Activate busy indicator _ui.pbStatus->setMaximum(0); - _socket->open(QUrl(QStringLiteral("ws://") + _ui.txtUrl->text())); + _socket->open(QUrl(QStringLiteral("wss://") + _ui.txtUrl->text())); } void LoginGui::sendAuthenticateMessage()