6#ifndef QSSLDIFFIEHELLMANPARAMETERS_H
7#define QSSLDIFFIEHELLMANPARAMETERS_H
9#include <QtNetwork/qssl.h>
10#include <QtCore/qnamespace.h>
11#include <QtCore/qbytearray.h>
12#include <QtCore/qshareddata.h>
20class QSslDiffieHellmanParametersPrivate;
22class QSslDiffieHellmanParameters;
24Q_NETWORK_EXPORT size_t qHash(
const QSslDiffieHellmanParameters &dhparam, size_t seed = 0)
noexcept;
26#ifndef QT_NO_DEBUG_STREAM
28Q_NETWORK_EXPORT
QDebug operator<<(QDebug debug,
const QSslDiffieHellmanParameters &dhparams);
36 InvalidInputDataError,
40 static QSslDiffieHellmanParameters defaultParameters();
42 QSslDiffieHellmanParameters();
43 QSslDiffieHellmanParameters(
const QSslDiffieHellmanParameters &other);
44 QSslDiffieHellmanParameters(QSslDiffieHellmanParameters &&other)
noexcept : d(other.d) { other.d =
nullptr; }
45 ~QSslDiffieHellmanParameters();
47 QSslDiffieHellmanParameters &operator=(
const QSslDiffieHellmanParameters &other);
48 QSslDiffieHellmanParameters &operator=(QSslDiffieHellmanParameters &&other)
noexcept { swap(other);
return *
this; }
50 void swap(QSslDiffieHellmanParameters &other)
noexcept { qt_ptr_swap(d, other.d); }
52 static QSslDiffieHellmanParameters fromEncoded(
const QByteArray &encoded, QSsl::EncodingFormat format = QSsl::Pem);
53 static QSslDiffieHellmanParameters fromEncoded(QIODevice *device, QSsl::EncodingFormat format = QSsl::Pem);
55 bool isEmpty()
const noexcept;
56 bool isValid()
const noexcept;
57 Error error()
const noexcept;
58 QString errorString()
const noexcept;
61 QSslDiffieHellmanParametersPrivate *d;
62 friend class QSslContext;
64 bool isEqual(
const QSslDiffieHellmanParameters &other)
const noexcept;
65 friend bool operator==(
const QSslDiffieHellmanParameters &lhs,
const QSslDiffieHellmanParameters &rhs)
noexcept
66 {
return lhs.isEqual(rhs); }
67 friend bool operator!=(
const QSslDiffieHellmanParameters &lhs,
const QSslDiffieHellmanParameters &rhs)
noexcept
68 {
return !lhs.isEqual(rhs); }
70#ifndef QT_NO_DEBUG_STREAM
71 friend Q_NETWORK_EXPORT QDebug operator<<(QDebug debug,
const QSslDiffieHellmanParameters &dhparam);
73 friend Q_NETWORK_EXPORT size_t qHash(
const QSslDiffieHellmanParameters &dhparam, size_t seed)
noexcept;
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 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.
Namespace containing onternal types that TLS backends implement.
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
static QT_BEGIN_NAMESPACE QString msgUnsupportedMulticastAddress()
QT_REQUIRE_CONFIG(thread)
constexpr size_t qHash(QSslEllipticCurve curve, size_t seed=0) noexcept
Q_DECLARE_TYPEINFO(QSslEllipticCurve, Q_PRIMITIVE_TYPE)