45 QSslConfiguration(
const QSslConfiguration &other);
47 QSslConfiguration &operator=(QSslConfiguration &&other)
noexcept { swap(other);
return *
this; }
48 QSslConfiguration &operator=(
const QSslConfiguration &other);
50 void swap(QSslConfiguration &other)
noexcept
53 bool operator==(
const QSslConfiguration &other)
const;
54 inline bool operator!=(
const QSslConfiguration &other)
const
55 {
return !(*
this == other); }
59 QSsl::SslProtocol protocol()
const;
60 void setProtocol(QSsl::SslProtocol protocol);
63 QSslSocket::PeerVerifyMode peerVerifyMode()
const;
64 void setPeerVerifyMode(QSslSocket::PeerVerifyMode mode);
66 int peerVerifyDepth()
const;
67 void setPeerVerifyDepth(
int depth);
70 QList<QSslCertificate> localCertificateChain()
const;
71 void setLocalCertificateChain(
const QList<QSslCertificate> &localChain);
73 QSslCertificate localCertificate()
const;
74 void setLocalCertificate(
const QSslCertificate &certificate);
76 QSslCertificate peerCertificate()
const;
77 QList<QSslCertificate> peerCertificateChain()
const;
78 QSslCipher sessionCipher()
const;
79 QSsl::SslProtocol sessionProtocol()
const;
82 QSslKey privateKey()
const;
83 void setPrivateKey(
const QSslKey &key);
86 QList<QSslCipher> ciphers()
const;
87 void setCiphers(
const QList<QSslCipher> &ciphers);
88 void setCiphers(
const QString &ciphers);
89 static QList<QSslCipher> supportedCiphers();
92 QList<QSslCertificate> caCertificates()
const;
93 void setCaCertificates(
const QList<QSslCertificate> &certificates);
94 bool addCaCertificates(
95 const QString &path, QSsl::EncodingFormat format = QSsl::Pem,
96 QSslCertificate::PatternSyntax syntax = QSslCertificate::PatternSyntax::FixedString);
97 void addCaCertificate(
const QSslCertificate &certificate);
98 void addCaCertificates(
const QList<QSslCertificate> &certificates);
100 static QList<QSslCertificate> systemCaCertificates();
102 void setSslOption(QSsl::SslOption option,
bool on);
103 bool testSslOption(QSsl::SslOption option)
const;
105 QByteArray sessionTicket()
const;
106 void setSessionTicket(
const QByteArray &sessionTicket);
107 int sessionTicketLifeTimeHint()
const;
109 QSslKey ephemeralServerKey()
const;
112 QList<QSslEllipticCurve> ellipticCurves()
const;
113 void setEllipticCurves(
const QList<QSslEllipticCurve> &curves);
114 static QList<QSslEllipticCurve> supportedEllipticCurves();
116 QByteArray preSharedKeyIdentityHint()
const;
117 void setPreSharedKeyIdentityHint(
const QByteArray &hint);
119 QSslDiffieHellmanParameters diffieHellmanParameters()
const;
120 void setDiffieHellmanParameters(
const QSslDiffieHellmanParameters &dhparams);
122 QMap<QByteArray, QVariant> backendConfiguration()
const;
123 void setBackendConfigurationOption(
const QByteArray &name,
const QVariant &value);
124 void setBackendConfiguration(
const QMap<QByteArray, QVariant> &backendConfiguration = QMap<QByteArray, QVariant>());
126 static QSslConfiguration defaultConfiguration();
127 static void setDefaultConfiguration(
const QSslConfiguration &configuration);
129#if QT_CONFIG(dtls) || defined(Q_QDOC)
130 bool dtlsCookieVerificationEnabled()
const;
131 void setDtlsCookieVerificationEnabled(
bool enable);
133 static QSslConfiguration defaultDtlsConfiguration();
134 static void setDefaultDtlsConfiguration(
const QSslConfiguration &configuration);
137 bool handshakeMustInterruptOnError()
const;
138 void setHandshakeMustInterruptOnError(
bool interrupt);
140 bool missingCertificateIsFatal()
const;
141 void setMissingCertificateIsFatal(
bool cannotRecover);
143 void setOcspStaplingEnabled(
bool enable);
144 bool ocspStaplingEnabled()
const;
146 enum NextProtocolNegotiationStatus {
147 NextProtocolNegotiationNone,
148 NextProtocolNegotiationNegotiated,
149 NextProtocolNegotiationUnsupported
152 void setAllowedNextProtocols(
const QList<QByteArray> &protocols);
153 QList<QByteArray> allowedNextProtocols()
const;
155 QByteArray nextNegotiatedProtocol()
const;
156 NextProtocolNegotiationStatus nextProtocolNegotiationStatus()
const;
158 static const char ALPNProtocolHTTP2[];
159 static const char NextProtocolHttp1_1[];
162 friend class QSslSocket;
163 friend class QSslConfigurationPrivate;
164 friend class QSslContext;
165 friend class QTlsBackend;
166 QSslConfiguration(QSslConfigurationPrivate *dd);
167 QSharedDataPointer<QSslConfigurationPrivate> d;