ImagingTools Core SDK
ISslConfigurationApplier.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtNetwork/QSslSocket>
7
8// ACF includes
9#include <istd/IPolymorphic.h>
10
11
12namespace imtcom
13{
14
15
41class ISslConfigurationApplier: virtual public istd::IPolymorphic
42{
43public:
61 virtual bool LoadLocalCertificateFromFile(const QString& path, QSsl::EncodingFormat format = QSsl::Pem) const = 0;
62
87 const QString& path,
88 QSsl::KeyAlgorithm algorithm,
89 QSsl::EncodingFormat format = QSsl::Pem,
90 const QByteArray& passPhrase = {}) const = 0;
91
108 virtual bool LoadCaCertificatesFromFile(const QString& path, QSsl::EncodingFormat format = QSsl::Pem) const = 0;
109
125 virtual bool SetPeerVerifyMode(QSslSocket::PeerVerifyMode mode) const = 0;
126
142 virtual bool SetSslProtocol(QSsl::SslProtocol protocol) const = 0;
143};
144
145
146} // namespace imtcom
147
148
Interface for applying SSL-related settings to an SSL configuration.
virtual bool LoadPrivateKeyFromFile(const QString &path, QSsl::KeyAlgorithm algorithm, QSsl::EncodingFormat format=QSsl::Pem, const QByteArray &passPhrase={}) const =0
Loads a private key from the specified file and applies it to the underlying SSL configuration.
virtual bool SetPeerVerifyMode(QSslSocket::PeerVerifyMode mode) const =0
Sets the peer verification mode for the underlying SSL configuration.
virtual bool LoadCaCertificatesFromFile(const QString &path, QSsl::EncodingFormat format=QSsl::Pem) const =0
Loads one or more Certificate Authority (CA) certificates from the specified file and applies them to...
virtual bool SetSslProtocol(QSsl::SslProtocol protocol) const =0
Sets the SSL/TLS protocol version for the underlying SSL configuration.
virtual bool LoadLocalCertificateFromFile(const QString &path, QSsl::EncodingFormat format=QSsl::Pem) const =0
Loads a local SSL certificate from the specified file and applies it to the underlying SSL configurat...
Server Communication and Connection Management Module.