46class QSslConfigurationPrivate:
public QSharedData
49 QSslConfigurationPrivate()
50 : sessionProtocol(QSsl::UnknownProtocol),
51 protocol(QSsl::SecureProtocols),
52 peerVerifyMode(QSslSocket::AutoVerifyPeer),
54 allowRootCertOnDemandLoading(
true),
55 peerSessionShared(
false),
56 sslOptions(QSslConfigurationPrivate::defaultSslOptions),
57 dhParams(QSslDiffieHellmanParameters::defaultParameters()),
58 sslSessionTicketLifeTimeHint(-1),
60 preSharedKeyIdentityHint(),
61 nextProtocolNegotiationStatus(QSslConfiguration::NextProtocolNegotiationNone)
64 QSslCertificate peerCertificate;
65 QList<QSslCertificate> peerCertificateChain;
67 QList<QSslCertificate> localCertificateChain;
70 QSslCipher sessionCipher;
71 QSsl::SslProtocol sessionProtocol;
72 QList<QSslCipher> ciphers;
73 QList<QSslCertificate> caCertificates;
75 QSsl::SslProtocol protocol;
76 QSslSocket::PeerVerifyMode peerVerifyMode;
78 bool allowRootCertOnDemandLoading;
79 bool peerSessionShared;
81 Q_AUTOTEST_EXPORT
static bool peerSessionWasShared(
const QSslConfiguration &configuration);
83 QSsl::SslOptions sslOptions;
85 static const QSsl::SslOptions defaultSslOptions;
87 QList<QSslEllipticCurve> ellipticCurves;
89 QSslDiffieHellmanParameters dhParams;
91 QMap<QByteArray, QVariant> backendConfig;
93 QByteArray sslSession;
94 int sslSessionTicketLifeTimeHint;
96 QSslKey ephemeralServerKey;
98 QByteArray preSharedKeyIdentityHint;
100 QList<QByteArray> nextAllowedProtocols;
101 QByteArray nextNegotiatedProtocol;
102 QSslConfiguration::NextProtocolNegotiationStatus nextProtocolNegotiationStatus;
105 bool dtlsCookieEnabled =
true;
107 const bool dtlsCookieEnabled =
false;
111 bool ocspStaplingEnabled =
false;
113 const bool ocspStaplingEnabled =
false;
116#if QT_CONFIG(openssl)
117 bool reportFromCallback =
false;
118 bool missingCertIsFatal =
false;
120 const bool reportFromCallback =
false;
121 const bool missingCertIsFatal =
false;
125 static QSslConfiguration defaultConfiguration();
126 static void setDefaultConfiguration(
const QSslConfiguration &configuration);
127 static void deepCopyDefaultConfiguration(QSslConfigurationPrivate *config);
129 static QSslConfiguration defaultDtlsConfiguration();
130 static void setDefaultDtlsConfiguration(
const QSslConfiguration &configuration);