Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
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
16
QT_REQUIRE_CONFIG
(
ssl
);
17
18
class
tst_QSslKeyingMaterial;
19
20
QT_BEGIN_NAMESPACE
21
22
namespace
QTlsPrivate
{
23
class
TlsCryptographOpenSSL
;
24
}
25
26
class
QDebug;
27
28
class
QT_TECH_PREVIEW_API
QSslKeyingMaterial
29
{
30
public
:
31
Q_NETWORK_EXPORT QSslKeyingMaterial();
32
Q_NETWORK_EXPORT
explicit
QSslKeyingMaterial(
const
QByteArray &label, qsizetype size);
33
Q_NETWORK_EXPORT
explicit
QSslKeyingMaterial(
const
QByteArray &label, qsizetype size,
34
const
QByteArray &context);
35
Q_NETWORK_EXPORT QSslKeyingMaterial(
const
QSslKeyingMaterial &other);
36
Q_NETWORK_EXPORT QSslKeyingMaterial &operator=(
const
QSslKeyingMaterial &other);
37
QSslKeyingMaterial(QSslKeyingMaterial &&other)
noexcept
38
: m_label(std::move(other.m_label)),
39
m_context(std::move(other.m_context)),
40
m_value(std::move(other.m_value)),
41
m_requestedSize(other.m_requestedSize),
42
m_reserved{std::exchange(other.m_reserved,
nullptr
)}
43
{}
44
QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QSslKeyingMaterial)
45
Q_NETWORK_EXPORT ~QSslKeyingMaterial();
46
47
Q_NETWORK_EXPORT
bool
isValid()
const
noexcept
;
48
49
QByteArray label()
const
50
{
51
return
m_label;
52
}
53
54
QByteArray context()
const
55
{
56
return
m_context;
57
}
58
59
QByteArray value()
const
60
{
61
return
m_value;
62
}
63
64
qsizetype requestedSize()
const
noexcept
65
{
66
return
m_requestedSize;
67
}
68
69
[[nodiscard]] Q_NETWORK_EXPORT QSslKeyingMaterial clone()
const
;
70
71
void
swap(QSslKeyingMaterial &other)
noexcept
72
{
73
m_label.swap(other.m_label);
74
m_context.swap(other.m_context);
75
m_value.swap(other.m_value);
76
std::swap(m_requestedSize, other.m_requestedSize);
77
qt_ptr_swap(m_reserved, other.m_reserved);
78
}
79
80
private
:
81
QByteArray m_label;
82
QByteArray m_context;
83
QByteArray m_value;
84
qsizetype m_requestedSize = 0;
85
Q_DECL_UNUSED_MEMBER
void
*m_reserved =
nullptr
;
86
87
friend
Q_NETWORK_EXPORT
bool
comparesEqual(
const
QSslKeyingMaterial &lhs,
88
const
QSslKeyingMaterial &rhs)
noexcept
;
89
Q_DECLARE_EQUALITY_COMPARABLE(QSslKeyingMaterial)
90
91
friend
size_t qHash(
const
QSslKeyingMaterial &material)
noexcept
92
{
return
qHash(material, 0); }
93
friend
Q_NETWORK_EXPORT size_t qHash(
const
QSslKeyingMaterial &material, size_t seed)
noexcept
;
94
95
#
ifndef
QT_NO_DEBUG_STREAM
96
friend
Q_NETWORK_EXPORT QDebug operator<<(QDebug debug,
const
QSslKeyingMaterial &keying);
97
#
endif
// QT_NO_DEBUG_STREAM
98
99
friend
class
QTlsPrivate::TlsCryptographOpenSSL;
100
friend
class
::tst_QSslKeyingMaterial;
101
};
102
103
Q_DECLARE_SHARED
(
QSslKeyingMaterial
)
104
105
QT_END_NAMESPACE
106
107
#
endif
// QSSLKEYINGMATERIAL_H
QDtlsClientVerifierPrivate
Definition
qdtls_p.h:31
QDtlsClientVerifierPrivate::QDtlsClientVerifierPrivate
QDtlsClientVerifierPrivate()
Definition
qdtls.cpp:335
QDtlsClientVerifierPrivate::~QDtlsClientVerifierPrivate
~QDtlsClientVerifierPrivate()
QDtlsPrivate
Definition
qdtls_p.h:39
QDtlsPrivate::QDtlsPrivate
QDtlsPrivate()
QDtlsPrivate::~QDtlsPrivate
~QDtlsPrivate()
QOcspResponsePrivate
Definition
qocspresponse_p.h:30
QOcspResponse
This class represents Online Certificate Status Protocol response.
Definition
qocspresponse.h:50
QSslCertificatePrivate
Definition
qsslcertificate_p.h:33
QSslCertificate
The QSslCertificate class provides a convenient API for an X509 certificate.
Definition
qsslcertificate.h:38
QSslCipher
The QSslCipher class represents an SSL cryptographic cipher.
Definition
qsslcipher.h:23
QSslContext
Definition
qsslcontext_openssl_p.h:32
QSslKeyPrivate
Definition
qsslkey_p.h:34
QSslKey
The QSslKey class provides an interface for private and public keys.
Definition
qsslkey.h:24
QSslKeyingMaterial
Describes exported keying material derived from a TLS session.
Definition
qsslkeyingmaterial.h:29
QSslPreSharedKeyAuthenticator
The QSslPreSharedKeyAuthenticator class provides authentication data for pre shared keys (PSK) cipher...
Definition
qsslpresharedkeyauthenticator.h:19
QSslSocketPrivate
Definition
qsslsocket_p.h:43
QSslSocket
The QSslSocket class provides an SSL encrypted socket for both clients and servers.
Definition
qsslsocket.h:30
QTlsPrivate::TlsCryptographOpenSSL
Definition
qtls_openssl_p.h:38
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QTlsPrivate
Namespace containing onternal types that TLS backends implement.
Definition
qocspresponse.h:41
operator<<
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition
qdir.cpp:2620
msgUnsupportedMulticastAddress
static QT_BEGIN_NAMESPACE QString msgUnsupportedMulticastAddress()
Definition
qdtls.cpp:304
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(liburing)
QOcspRevocationReason
QOcspRevocationReason
Definition
qocspresponse.h:29
QOcspRevocationReason::RemoveFromCRL
@ RemoveFromCRL
Definition
qocspresponse.h:38
QOcspRevocationReason::AffiliationChanged
@ AffiliationChanged
Definition
qocspresponse.h:34
QOcspRevocationReason::CertificateHold
@ CertificateHold
Definition
qocspresponse.h:37
QOcspRevocationReason::CACompromise
@ CACompromise
Definition
qocspresponse.h:33
QOcspRevocationReason::None
@ None
Definition
qocspresponse.h:30
QOcspRevocationReason::Unspecified
@ Unspecified
Definition
qocspresponse.h:31
QOcspRevocationReason::CessationOfOperation
@ CessationOfOperation
Definition
qocspresponse.h:36
QOcspRevocationReason::KeyCompromise
@ KeyCompromise
Definition
qocspresponse.h:32
QOcspRevocationReason::Superseded
@ Superseded
Definition
qocspresponse.h:35
qtbase
src
network
ssl
qsslkeyingmaterial.h
Generated on
for Qt by
1.18.0