48class QSslConfigurationPrivate:
public QSharedData
51 QSslConfigurationPrivate()
52 : sessionProtocol(QSsl::UnknownProtocol),
53 protocol(QSsl::SecureProtocols),
54 peerVerifyMode(QSslSocket::AutoVerifyPeer),
56 allowRootCertOnDemandLoading(
true),
57 peerSessionShared(
false),
58 sslOptions(QSslConfigurationPrivate::defaultSslOptions),
59 dhParams(QSslDiffieHellmanParameters::defaultParameters()),
60 sslSessionTicketLifeTimeHint(-1),
62 preSharedKeyIdentityHint(),
63 nextProtocolNegotiationStatus(QSslConfiguration::NextProtocolNegotiationNone),
67 QSslCertificate peerCertificate;
68 QList<QSslCertificate> peerCertificateChain;
70 QList<QSslCertificate> localCertificateChain;
73 QSslCipher sessionCipher;
74 QSsl::SslProtocol sessionProtocol;
75 QList<QSslCipher> ciphers;
76 QList<QSslCertificate> caCertificates;
78 QSsl::SslProtocol protocol;
79 QSslSocket::PeerVerifyMode peerVerifyMode;
81 bool allowRootCertOnDemandLoading;
82 bool peerSessionShared;
84 Q_AUTOTEST_EXPORT
static bool peerSessionWasShared(
const QSslConfiguration &configuration);
86 QSsl::SslOptions sslOptions;
88 static const QSsl::SslOptions defaultSslOptions;
90 QList<QSslEllipticCurve> ellipticCurves;
92 QSslDiffieHellmanParameters dhParams;
94 QMap<QByteArray, QVariant> backendConfig;
96 QByteArray sslSession;
97 int sslSessionTicketLifeTimeHint;
99 QSslKey ephemeralServerKey;
101 QByteArray preSharedKeyIdentityHint;
103 QList<QByteArray> nextAllowedProtocols;
104 QByteArray nextNegotiatedProtocol;
105 QSslConfiguration::NextProtocolNegotiationStatus nextProtocolNegotiationStatus;
107 QList<QSslKeyingMaterial> keyingMaterial;
110 bool dtlsCookieEnabled =
true;
112 const bool dtlsCookieEnabled =
false;
116 bool ocspStaplingEnabled =
false;
118 const bool ocspStaplingEnabled =
false;
121#if QT_CONFIG(openssl)
122 bool reportFromCallback =
false;
123 bool missingCertIsFatal =
false;
125 const bool reportFromCallback =
false;
126 const bool missingCertIsFatal =
false;
130 static QSslConfiguration defaultConfiguration();
131 static void setDefaultConfiguration(
const QSslConfiguration &configuration);
132 static void deepCopyDefaultConfiguration(QSslConfigurationPrivate *config);
134 static QSslConfiguration defaultDtlsConfiguration();
135 static void setDefaultDtlsConfiguration(
const QSslConfiguration &configuration);