47class QSslConfigurationPrivate:
public QSharedData
50 QSslConfigurationPrivate()
51 : sessionProtocol(QSsl::UnknownProtocol),
52 protocol(QSsl::SecureProtocols),
53 peerVerifyMode(QSslSocket::AutoVerifyPeer),
55 allowRootCertOnDemandLoading(
true),
56 peerSessionShared(
false),
57 sslOptions(QSslConfigurationPrivate::defaultSslOptions),
58 dhParams(QSslDiffieHellmanParameters::defaultParameters()),
59 sslSessionTicketLifeTimeHint(-1),
61 preSharedKeyIdentityHint(),
62 nextProtocolNegotiationStatus(QSslConfiguration::NextProtocolNegotiationNone)
65 QSslCertificate peerCertificate;
66 QList<QSslCertificate> peerCertificateChain;
68 QList<QSslCertificate> localCertificateChain;
71 QSslCipher sessionCipher;
72 QSsl::SslProtocol sessionProtocol;
73 QList<QSslCipher> ciphers;
74 QList<QSslCertificate> caCertificates;
76 QSsl::SslProtocol protocol;
77 QSslSocket::PeerVerifyMode peerVerifyMode;
79 bool allowRootCertOnDemandLoading;
80 bool peerSessionShared;
82 Q_AUTOTEST_EXPORT
static bool peerSessionWasShared(
const QSslConfiguration &configuration);
84 QSsl::SslOptions sslOptions;
86 static const QSsl::SslOptions defaultSslOptions;
88 QList<QSslEllipticCurve> ellipticCurves;
90 QSslDiffieHellmanParameters dhParams;
92 QMap<QByteArray, QVariant> backendConfig;
94 QByteArray sslSession;
95 int sslSessionTicketLifeTimeHint;
97 QSslKey ephemeralServerKey;
99 QByteArray preSharedKeyIdentityHint;
101 QList<QByteArray> nextAllowedProtocols;
102 QByteArray nextNegotiatedProtocol;
103 QSslConfiguration::NextProtocolNegotiationStatus nextProtocolNegotiationStatus;
106 bool dtlsCookieEnabled =
true;
108 const bool dtlsCookieEnabled =
false;
112 bool ocspStaplingEnabled =
false;
114 const bool ocspStaplingEnabled =
false;
117#if QT_CONFIG(openssl)
118 bool reportFromCallback =
false;
119 bool missingCertIsFatal =
false;
121 const bool reportFromCallback =
false;
122 const bool missingCertIsFatal =
false;
126 static QSslConfiguration defaultConfiguration();
127 static void setDefaultConfiguration(
const QSslConfiguration &configuration);
128 static void deepCopyDefaultConfiguration(QSslConfigurationPrivate *config);
130 static QSslConfiguration defaultDtlsConfiguration();
131 static void setDefaultDtlsConfiguration(
const QSslConfiguration &configuration);