Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qsslconfiguration_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// Copyright (C) 2014 BlackBerry Limited. All rights reserved.
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
5/****************************************************************************
6**
7** In addition, as a special exception, the copyright holders listed above give
8** permission to link the code of its release of Qt with the OpenSSL project's
9** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
10** same license as the original version), and distribute the linked executables.
11**
12** You must comply with the GNU General Public License version 2 in all
13** respects for all of the code used other than the "OpenSSL" code. If you
14** modify this file, you may extend this exception to your version of the file,
15** but you are not obligated to do so. If you do not wish to do so, delete
16** this exception statement from your version of this file.
17**
18****************************************************************************/
19
20#ifndef QSSLCONFIGURATION_P_H
21#define QSSLCONFIGURATION_P_H
22
23//
24// W A R N I N G
25// -------------
26//
27// This file is not part of the Qt API. It exists for the convenience
28// of the QSslSocket API. This header file may change from
29// version to version without notice, or even be removed.
30//
31// We mean it.
32//
33
34#include <QtCore/qmap.h>
35#include <QtNetwork/private/qtnetworkglobal_p.h>
36#include "qsslconfiguration.h"
37#include "qlist.h"
38#include "qsslcertificate.h"
39#include "qsslcipher.h"
40#include "qsslkey.h"
41#include "qsslellipticcurve.h"
43
45
47{
48public:
63
65 QList<QSslCertificate> peerCertificateChain;
66
67 QList<QSslCertificate> localCertificateChain;
68
72 QList<QSslCipher> ciphers;
73 QList<QSslCertificate> caCertificates;
74
80
81 Q_AUTOTEST_EXPORT static bool peerSessionWasShared(const QSslConfiguration &configuration);
82
83 QSsl::SslOptions sslOptions;
84
85 static const QSsl::SslOptions defaultSslOptions;
86
87 QList<QSslEllipticCurve> ellipticCurves;
88
90
91 QMap<QByteArray, QVariant> backendConfig;
92
95
97
99
100 QList<QByteArray> nextAllowedProtocols;
103
104#if QT_CONFIG(dtls)
105 bool dtlsCookieEnabled = true;
106#else
107 const bool dtlsCookieEnabled = false;
108#endif // dtls
109
110#if QT_CONFIG(ocsp)
111 bool ocspStaplingEnabled = false;
112#else
113 const bool ocspStaplingEnabled = false;
114#endif
115
116#if QT_CONFIG(openssl)
117 bool reportFromCallback = false;
118 bool missingCertIsFatal = false;
119#else
120 const bool reportFromCallback = false;
121 const bool missingCertIsFatal = false;
122#endif // openssl
123
124 // in qsslsocket.cpp:
126 static void setDefaultConfiguration(const QSslConfiguration &configuration);
128
130 static void setDefaultDtlsConfiguration(const QSslConfiguration &configuration);
131};
132
133// implemented here for inlining purposes
135 : d(dd)
136{
137}
138
140
141#endif
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
Definition qshareddata.h:19
The QSslCertificate class provides a convenient API for an X509 certificate.
The QSslCipher class represents an SSL cryptographic cipher.
Definition qsslcipher.h:22
static Q_AUTOTEST_EXPORT bool peerSessionWasShared(const QSslConfiguration &configuration)
QSslSocket::PeerVerifyMode peerVerifyMode
QList< QSslEllipticCurve > ellipticCurves
QSslConfiguration::NextProtocolNegotiationStatus nextProtocolNegotiationStatus
QList< QSslCertificate > caCertificates
static QSslConfiguration defaultConfiguration()
static void setDefaultDtlsConfiguration(const QSslConfiguration &configuration)
static const QSsl::SslOptions defaultSslOptions
QMap< QByteArray, QVariant > backendConfig
static void deepCopyDefaultConfiguration(QSslConfigurationPrivate *config)
QList< QSslCertificate > peerCertificateChain
static void setDefaultConfiguration(const QSslConfiguration &configuration)
QList< QByteArray > nextAllowedProtocols
QList< QSslCipher > ciphers
QSsl::SslProtocol sessionProtocol
QList< QSslCertificate > localCertificateChain
QSslDiffieHellmanParameters dhParams
static QSslConfiguration defaultDtlsConfiguration()
The QSslConfiguration class holds the configuration and state of an SSL connection.
QSslConfiguration()
\variable QSslConfiguration::NextProtocolHttp1_1
NextProtocolNegotiationStatus
Describes the status of the Next Protocol Negotiation (NPN) or Application-Layer Protocol Negotiation...
The QSslDiffieHellmanParameters class provides an interface for Diffie-Hellman parameters for servers...
The QSslKey class provides an interface for private and public keys.
Definition qsslkey.h:23
The QSslSocket class provides an SSL encrypted socket for both clients and servers.
Definition qsslsocket.h:29
The QSsl namespace declares enums common to all SSL classes in Qt Network.
SslProtocol
Describes the protocol of the cipher.
Definition qssl.h:50
Combined button and popup list for selecting options.
EGLConfig config
#define Q_AUTOTEST_EXPORT