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()