48 QSslConfiguration(
const QSslConfiguration &other);
50 QSslConfiguration &operator=(QSslConfiguration &&other)
noexcept { swap(other);
return *
this; }
51 QSslConfiguration &operator=(
const QSslConfiguration &other);
53 void swap(QSslConfiguration &other)
noexcept
56 bool operator==(
const QSslConfiguration &other)
const;
57 inline bool operator!=(
const QSslConfiguration &other)
const
58 {
return !(*
this == other); }
62 QSsl::SslProtocol protocol()
const;
63 void setProtocol(QSsl::SslProtocol protocol);
66 QSslSocket::PeerVerifyMode peerVerifyMode()
const;
67 void setPeerVerifyMode(QSslSocket::PeerVerifyMode mode);
69 int peerVerifyDepth()
const;
70 void setPeerVerifyDepth(
int depth);
73 QList<QSslCertificate> localCertificateChain()
const;
74 void setLocalCertificateChain(
const QList<QSslCertificate> &localChain);
76 QSslCertificate localCertificate()
const;
77 void setLocalCertificate(
const QSslCertificate &certificate);
79 QSslCertificate peerCertificate()
const;
80 QList<QSslCertificate> peerCertificateChain()
const;
81 QSslCipher sessionCipher()
const;
82 QSsl::SslProtocol sessionProtocol()
const;
85 QSslKey privateKey()
const;
86 void setPrivateKey(
const QSslKey &key);
89 QList<QSslCipher> ciphers()
const;
90 void setCiphers(
const QList<QSslCipher> &ciphers);
91 void setCiphers(
const QString &ciphers);
92 static QList<QSslCipher> supportedCiphers();
95 QList<QSslCertificate> caCertificates()
const;
96 void setCaCertificates(
const QList<QSslCertificate> &certificates);
97 bool addCaCertificates(
98 const QString &path, QSsl::EncodingFormat format = QSsl::Pem,
99 QSslCertificate::PatternSyntax syntax = QSslCertificate::PatternSyntax::FixedString);
100 void addCaCertificate(
const QSslCertificate &certificate);
101 void addCaCertificates(
const QList<QSslCertificate> &certificates);
103 static QList<QSslCertificate> systemCaCertificates();
105 void setSslOption(QSsl::SslOption option,
bool on);
106 bool testSslOption(QSsl::SslOption option)
const;
108 QByteArray sessionTicket()
const;
109 void setSessionTicket(
const QByteArray &sessionTicket);
110 int sessionTicketLifeTimeHint()
const;
112 QSslKey ephemeralServerKey()
const;
115 QList<QSslEllipticCurve> ellipticCurves()
const;
116 void setEllipticCurves(
const QList<QSslEllipticCurve> &curves);
117 static QList<QSslEllipticCurve> supportedEllipticCurves();
119 QByteArray preSharedKeyIdentityHint()
const;
120 void setPreSharedKeyIdentityHint(
const QByteArray &hint);
122 QSslDiffieHellmanParameters diffieHellmanParameters()
const;
123 void setDiffieHellmanParameters(
const QSslDiffieHellmanParameters &dhparams);
125 QMap<QByteArray, QVariant> backendConfiguration()
const;
126 void setBackendConfigurationOption(
const QByteArray &name,
const QVariant &value);
127 void setBackendConfiguration(
const QMap<QByteArray, QVariant> &backendConfiguration = QMap<QByteArray, QVariant>());
129 static QSslConfiguration defaultConfiguration();
130 static void setDefaultConfiguration(
const QSslConfiguration &configuration);
132#if QT_CONFIG(dtls) || defined(Q_QDOC)
133 bool dtlsCookieVerificationEnabled()
const;
134 void setDtlsCookieVerificationEnabled(
bool enable);
136 static QSslConfiguration defaultDtlsConfiguration();
137 static void setDefaultDtlsConfiguration(
const QSslConfiguration &configuration);
140 bool handshakeMustInterruptOnError()
const;
141 void setHandshakeMustInterruptOnError(
bool interrupt);
143 bool missingCertificateIsFatal()
const;
144 void setMissingCertificateIsFatal(
bool cannotRecover);
146 void setOcspStaplingEnabled(
bool enable);
147 bool ocspStaplingEnabled()
const;
149 enum NextProtocolNegotiationStatus {
150 NextProtocolNegotiationNone,
151 NextProtocolNegotiationNegotiated,
152 NextProtocolNegotiationUnsupported
155 void setAllowedNextProtocols(
const QList<QByteArray> &protocols);
156 QList<QByteArray> allowedNextProtocols()
const;
158 QByteArray nextNegotiatedProtocol()
const;
159 NextProtocolNegotiationStatus nextProtocolNegotiationStatus()
const;
161 static const char ALPNProtocolHTTP2[];
162 static const char NextProtocolHttp1_1[];
164 QList<QSslKeyingMaterial> keyingMaterial()
const;
165 std::optional<QSslKeyingMaterial> keyingMaterial(
const QSslKeyingMaterial &material)
const;
166 void setKeyingMaterial(
const QList<QSslKeyingMaterial> &keyMaterial);
169 friend class QSslSocket;
170 friend class QSslConfigurationPrivate;
171 friend class QSslContext;
172 friend class QTlsBackend;
173 QSslConfiguration(QSslConfigurationPrivate *dd);
174 QSharedDataPointer<QSslConfigurationPrivate> d;