9#include <QtNetwork/qtnetworkglobal.h>
10#include <QtCore/qdebug.h>
11#include <QtCore/qvariant.h>
12#include <QtNetwork/qsslcertificate.h>
21#ifndef QT_NO_DEBUG_STREAM
25class QSslErrorPrivate;
32 UnableToGetIssuerCertificate,
33 UnableToDecryptCertificateSignature,
34 UnableToDecodeIssuerPublicKey,
35 CertificateSignatureFailed,
36 CertificateNotYetValid,
38 InvalidNotBeforeField,
40 SelfSignedCertificate,
41 SelfSignedCertificateInChain,
42 UnableToGetLocalIssuerCertificate,
43 UnableToVerifyFirstCertificate,
50 SubjectIssuerMismatch,
51 AuthorityIssuerSerialNumberMismatch,
55 CertificateBlacklisted,
56 CertificateStatusUnknown,
59 OcspMalformedResponse,
64 OcspResponseCannotBeTrusted,
65 OcspResponseCertIdUnknown,
75 explicit QSslError(SslError error);
76 QSslError(SslError error,
const QSslCertificate &certificate);
78 QSslError(
const QSslError &other);
80 void swap(QSslError &other)
noexcept
84 QSslError &operator=(QSslError &&other)
noexcept { swap(other);
return *
this; }
85 QSslError &operator=(
const QSslError &other);
86 bool operator==(
const QSslError &other)
const;
87 inline bool operator!=(
const QSslError &other)
const
88 {
return !(*
this == other); }
90 SslError error()
const;
91 QString errorString()
const;
92 QSslCertificate certificate()
const;
96 std::unique_ptr<QSslErrorPrivate> d;
97#ifndef QT_NO_DEBUG_STREAM
98 Q_NETWORK_EXPORT
friend QDebug print(QDebug debug, QSslError::SslError error);
99 friend QDebug operator<<(QDebug debug, SslError error)
100 {
return print(std::move(debug), error); }
105Q_NETWORK_EXPORT size_t qHash(
const QSslError &key, size_t seed = 0)
noexcept;
107#ifndef QT_NO_DEBUG_STREAM
109Q_NETWORK_EXPORT
QDebug operator<<(QDebug debug,
const QSslError &error);
110#if QT_NETWORK_REMOVED_SINCE(6
, 8
)
111Q_NETWORK_EXPORT QDebug operator<<(QDebug debug,
const QSslError::SslError &error);
115class Q_NETWORK_EXPORT QSslError {};
121QT_DECL_METATYPE_EXTERN_TAGGED(QList<QSslError>, QList_QSslError, Q_NETWORK_EXPORT)
QDtlsClientVerifierPrivate()
~QDtlsClientVerifierPrivate()
This class represents Online Certificate Status Protocol response.
The QSslCertificate class provides a convenient API for an X509 certificate.
The QSslCipher class represents an SSL cryptographic cipher.
The QSslDiffieHellmanParameters class provides an interface for Diffie-Hellman parameters for servers...
Represents an elliptic curve for use by elliptic-curve cipher algorithms.
constexpr QSslEllipticCurve() noexcept
Constructs an invalid elliptic curve.
constexpr bool isValid() const noexcept
Returns true if this elliptic curve is a valid curve, false otherwise.
friend constexpr bool operator!=(QSslEllipticCurve lhs, QSslEllipticCurve rhs) noexcept
Q_NETWORK_EXPORT bool isTlsNamedCurve() const noexcept
Returns true if this elliptic curve is one of the named curves that can be used in the key exchange w...
friend constexpr bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs) noexcept
The QSslError class provides an SSL error.
The QSslKey class provides an interface for private and public keys.
The QSslPreSharedKeyAuthenticator class provides authentication data for pre shared keys (PSK) cipher...
The QSslSocket class provides an SSL encrypted socket for both clients and servers.
QTlsBackend is a factory class, providing implementations for the QSsl classes.
TlsKey is an abstract class, that allows a TLS plugin to provide an underlying implementation for the...
X509Certificate is an abstract class that allows a TLS backend to provide an implementation of the QS...
Namespace containing onternal types that TLS backends implement.
bool(*)(QIODevice *device, QSslKey *key, QSslCertificate *cert, QList< QSslCertificate > *caCertificates, const QByteArray &passPhrase) X509Pkcs12ReaderPtr
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
static QT_BEGIN_NAMESPACE QString msgUnsupportedMulticastAddress()
Q_DECLARE_INTERFACE(QNetworkAccessBackendFactory, QNetworkAccessBackendFactory_iid)
QT_REQUIRE_CONFIG(thread)
constexpr size_t qHash(QSslEllipticCurve curve, size_t seed=0) noexcept
Q_DECLARE_TYPEINFO(QSslEllipticCurve, Q_PRIMITIVE_TYPE)