Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qsslkeyingmaterial.h
Go to the documentation of this file.
1// Copyright (C) 2026 Governikus GmbH & Co. KG.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QSSLKEYINGMATERIAL_H
6#define QSSLKEYINGMATERIAL_H
7
8#include <QtNetwork/qtnetworkglobal.h>
9
10#include <QtCore/qbytearray.h>
11#include <QtCore/qcompare.h>
12#include <QtCore/qswap.h>
13#include <QtCore/qtclasshelpermacros.h>
14#include <QtCore/qtypes.h>
15
17
18
19QT_BEGIN_NAMESPACE
20
21namespace QTlsPrivate {
23}
24
25class QDebug;
26
28{
29public:
33 const QByteArray &context);
45
46 Q_NETWORK_EXPORT bool isValid() const noexcept;
47
49 {
50 return m_label;
51 }
52
54 {
55 return m_context;
56 }
57
59 {
60 return m_value;
61 }
62
63 qsizetype requestedSize() const noexcept
64 {
65 return m_requestedSize;
66 }
67
68 void swap(QSslKeyingMaterial &other) noexcept
69 {
70 m_label.swap(other.m_label);
71 m_context.swap(other.m_context);
72 m_value.swap(other.m_value);
73 std::swap(m_requestedSize, other.m_requestedSize);
74 qt_ptr_swap(m_reserved, other.m_reserved);
75 }
76
77private:
78 QByteArray m_label;
79 QByteArray m_context;
80 QByteArray m_value;
81 qsizetype m_requestedSize = 0;
82 Q_DECL_UNUSED_MEMBER void *m_reserved = nullptr;
83
84 friend Q_NETWORK_EXPORT bool comparesEqual(const QSslKeyingMaterial &lhs,
85 const QSslKeyingMaterial &rhs) noexcept;
87
88 friend size_t qHash(const QSslKeyingMaterial &material) noexcept
89 { return qHash(material, 0); }
91
92#ifndef QT_NO_DEBUG_STREAM
94#endif // QT_NO_DEBUG_STREAM
95
97};
98
99Q_DECLARE_SHARED(QSslKeyingMaterial)
100
101QT_END_NAMESPACE
102
103#endif // QSSLKEYINGMATERIAL_H
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.
Definition qsslcipher.h:23
The QSslKey class provides an interface for private and public keys.
Definition qsslkey.h:24
Describes exported keying material derived from a TLS session.
QByteArray context() const
Returns the optional context value used for deriving the keying material.
QByteArray value() const
Returns the exported keying material.
qsizetype requestedSize() const noexcept
The desired size of the keying material.
void swap(QSslKeyingMaterial &other) noexcept
\memberswap{keying material}
Q_NETWORK_EXPORT bool isValid() const noexcept
Returns true if this QSslKeyingMaterial object describes a valid exporter request.
QSslKeyingMaterial(QSslKeyingMaterial &&other) noexcept
QByteArray label() const
Returns the exporter label used for deriving the keying material.
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.
Definition qsslsocket.h:30
Combined button and popup list for selecting options.
Namespace containing onternal types that TLS backends implement.
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2618
static QT_BEGIN_NAMESPACE QString msgUnsupportedMulticastAddress()
Definition qdtls.cpp:304
QT_REQUIRE_CONFIG(liburing)
QOcspRevocationReason
bool comparesEqual(const QSslKeyingMaterial &lhs, const QSslKeyingMaterial &rhs) noexcept