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;
111 bool isSessionResumed()
const;
113 QSslKey ephemeralServerKey()
const;
116 QList<QSslEllipticCurve> ellipticCurves()
const;
117 void setEllipticCurves(
const QList<QSslEllipticCurve> &curves);
118 static QList<QSslEllipticCurve> supportedEllipticCurves();
120 QByteArray preSharedKeyIdentityHint()
const;
121 void setPreSharedKeyIdentityHint(
const QByteArray &hint);
123 QSslDiffieHellmanParameters diffieHellmanParameters()
const;
124 void setDiffieHellmanParameters(
const QSslDiffieHellmanParameters &dhparams);
126 QMap<QByteArray, QVariant> backendConfiguration()
const;
127 void setBackendConfigurationOption(
const QByteArray &name,
const QVariant &value);
128 void setBackendConfiguration(
const QMap<QByteArray, QVariant> &backendConfiguration = QMap<QByteArray, QVariant>());
130 static QSslConfiguration defaultConfiguration();
131 static void setDefaultConfiguration(
const QSslConfiguration &configuration);
133#if QT_CONFIG(dtls) || defined(Q_QDOC)
134 bool dtlsCookieVerificationEnabled()
const;
135 void setDtlsCookieVerificationEnabled(
bool enable);
137 static QSslConfiguration defaultDtlsConfiguration();
138 static void setDefaultDtlsConfiguration(
const QSslConfiguration &configuration);
141 bool handshakeMustInterruptOnError()
const;
142 void setHandshakeMustInterruptOnError(
bool interrupt);
144 bool missingCertificateIsFatal()
const;
145 void setMissingCertificateIsFatal(
bool cannotRecover);
147 void setOcspStaplingEnabled(
bool enable);
148 bool ocspStaplingEnabled()
const;
150 enum NextProtocolNegotiationStatus {
151 NextProtocolNegotiationNone,
152 NextProtocolNegotiationNegotiated,
153 NextProtocolNegotiationUnsupported
156 void setAllowedNextProtocols(
const QList<QByteArray> &protocols);
157 QList<QByteArray> allowedNextProtocols()
const;
159 QByteArray nextNegotiatedProtocol()
const;
160 NextProtocolNegotiationStatus nextProtocolNegotiationStatus()
const;
162 static const char ALPNProtocolHTTP2[];
163 static const char NextProtocolHttp1_1[];
165 [[nodiscard]] QList<QSslKeyingMaterial> takeKeyingMaterial();
166 [[nodiscard]] std::optional<QSslKeyingMaterial> takeKeyingMaterial(
const QSslKeyingMaterial &material);
167 void setKeyingMaterial(
const QList<QSslKeyingMaterial> &keyMaterial);
170 friend class QSslSocket;
171 friend class QSslConfigurationPrivate;
172 friend class QSslContext;
173 friend class QTlsBackend;
174 QSslConfiguration(QSslConfigurationPrivate *dd);
175 QSharedDataPointer<QSslConfigurationPrivate> d;