fix: Always perform SSL peer verification

As the datastore now has real (no self-signed) TLS certificates, the host
verification should not be disabled by default. When testing locally,
one could use non-TLS connections.
This commit is contained in:
Lars Toenning
2024-03-10 23:06:54 +01:00
parent d977223fd4
commit c0b0c74c3c
3 changed files with 0 additions and 22 deletions

View File

@@ -81,7 +81,6 @@ namespace BlackCore::Db
QUrl url(m_modelPublishUrl.toQUrl()); QUrl url(m_modelPublishUrl.toQUrl());
if (compress) { url.setQuery(CDatabaseUtils::getCompressedQuery()); } if (compress) { url.setQuery(CDatabaseUtils::getCompressedQuery()); }
QNetworkRequest request(url); QNetworkRequest request(url);
CNetworkUtils::ignoreSslVerification(request);
const QByteArray eInfo = extraInfo.toLatin1(); const QByteArray eInfo = extraInfo.toLatin1();
request.setRawHeader(QByteArray("swift-extrainfo"), eInfo); request.setRawHeader(QByteArray("swift-extrainfo"), eInfo);
const int logId = m_writeLog.addPendingUrl(url); const int logId = m_writeLog.addPendingUrl(url);
@@ -122,7 +121,6 @@ namespace BlackCore::Db
url.setQuery(query); url.setQuery(query);
QNetworkRequest request(url); QNetworkRequest request(url);
CNetworkUtils::ignoreSslVerification(request);
const int logId = m_writeLog.addPendingUrl(url); const int logId = m_writeLog.addPendingUrl(url);
m_pendingAutoPublishReply = sApp->postToNetwork(request, logId, multiPart, { this, &CDatabaseWriter::postedAutoPublishResponse }); m_pendingAutoPublishReply = sApp->postToNetwork(request, logId, multiPart, { this, &CDatabaseWriter::postedAutoPublishResponse });
m_autoPublishReplyPendingSince = QDateTime::currentMSecsSinceEpoch(); m_autoPublishReplyPendingSince = QDateTime::currentMSecsSinceEpoch();

View File

@@ -11,24 +11,16 @@
#include <QMetaEnum> #include <QMetaEnum>
#include <QHostAddress> #include <QHostAddress>
#include <QList> #include <QList>
#include <QProcess>
#include <QNetworkAddressEntry>
#include <QNetworkInterface> #include <QNetworkInterface>
#include <QNetworkReply> #include <QNetworkReply>
#include <QNetworkConfiguration> #include <QNetworkConfiguration>
#include <QObject> #include <QObject>
#include <QSignalMapper> #include <QSignalMapper>
#include <QSslCertificate>
#include <QSslConfiguration>
#include <QSslKey>
#include <QSslSocket>
#include <QTcpSocket> #include <QTcpSocket>
#include <QTextStream>
#include <QUrl> #include <QUrl>
#include <QUrlQuery> #include <QUrlQuery>
#include <QStringBuilder> #include <QStringBuilder>
#include <QVariant> #include <QVariant>
#include <QtDebug>
#include <QRegularExpression> #include <QRegularExpression>
using namespace BlackConfig; using namespace BlackConfig;
@@ -173,13 +165,6 @@ namespace BlackMisc::Network
return protocol + "://" + url; return protocol + "://" + url;
} }
void CNetworkUtils::ignoreSslVerification(QNetworkRequest &request)
{
QSslConfiguration conf = request.sslConfiguration();
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
request.setSslConfiguration(conf);
}
void CNetworkUtils::setSwiftUserAgent(QNetworkRequest &request, const QString &userAgentDetails) void CNetworkUtils::setSwiftUserAgent(QNetworkRequest &request, const QString &userAgentDetails)
{ {
static const QString defaultUserAgent("swift/" + CBuildConfig::getVersionString()); static const QString defaultUserAgent("swift/" + CBuildConfig::getVersionString());
@@ -205,7 +190,6 @@ namespace BlackMisc::Network
default: default:
break; break;
} }
CNetworkUtils::ignoreSslVerification(request);
CNetworkUtils::setSwiftUserAgent(request, userAgentDetails); CNetworkUtils::setSwiftUserAgent(request, userAgentDetails);
return request; return request;
} }
@@ -213,7 +197,6 @@ namespace BlackMisc::Network
QNetworkRequest CNetworkUtils::getSwiftNetworkRequest(const QNetworkRequest &request, const QString &userAgentDetails) QNetworkRequest CNetworkUtils::getSwiftNetworkRequest(const QNetworkRequest &request, const QString &userAgentDetails)
{ {
QNetworkRequest req(request); // copy QNetworkRequest req(request); // copy
CNetworkUtils::ignoreSslVerification(req);
CNetworkUtils::setSwiftUserAgent(req, userAgentDetails); CNetworkUtils::setSwiftUserAgent(req, userAgentDetails);
return req; return req;
} }

View File

@@ -81,9 +81,6 @@ namespace BlackMisc::Network
//! Build / concatenate an URL //! Build / concatenate an URL
static QString buildUrl(const QString &protocol, const QString &server, const QString &baseUrl, const QString &serviceUrl); static QString buildUrl(const QString &protocol, const QString &server, const QString &baseUrl, const QString &serviceUrl);
//! Ignore SSL verification such as self signed certificates
static void ignoreSslVerification(QNetworkRequest &request);
//! Set user agent for request //! Set user agent for request
static void setSwiftUserAgent(QNetworkRequest &request, const QString &userAgentDetails = {}); static void setSwiftUserAgent(QNetworkRequest &request, const QString &userAgentDetails = {});