46 QSslConfiguration(
const QSslConfiguration &other);
48 QSslConfiguration &operator=(QSslConfiguration &&other)
noexcept { swap(other);
return *
this; }
49 QSslConfiguration &operator=(
const QSslConfiguration &other);
51 void swap(QSslConfiguration &other)
noexcept
54 bool operator==(
const QSslConfiguration &other)
const;
55 inline bool operator!=(
const QSslConfiguration &other)
const
56 {
return !(*
this == other); }
60 QSsl::SslProtocol protocol()
const;
61 void setProtocol(QSsl::SslProtocol protocol);
64 QSslSocket::PeerVerifyMode peerVerifyMode()
const;
65 void setPeerVerifyMode(QSslSocket::PeerVerifyMode mode);
67 int peerVerifyDepth()
const;
68 void setPeerVerifyDepth(
int depth);
71 QList<QSslCertificate> localCertificateChain()
const;
72 void setLocalCertificateChain(
const QList<QSslCertificate> &localChain);
74 QSslCertificate localCertificate()
const;
75 void setLocalCertificate(
const QSslCertificate &certificate);
77 QSslCertificate peerCertificate()
const;
78 QList<QSslCertificate> peerCertificateChain()
const;
79 QSslCipher sessionCipher()
const;
80 QSsl::SslProtocol sessionProtocol()
const;
83 QSslKey privateKey()
const;
84 void setPrivateKey(
const QSslKey &key);
87 QList<QSslCipher> ciphers()
const;
88 void setCiphers(
const QList<QSslCipher> &ciphers);
89 void setCiphers(
const QString &ciphers);
90 static QList<QSslCipher> supportedCiphers();
93 QList<QSslCertificate> caCertificates()
const;
94 void setCaCertificates(
const QList<QSslCertificate> &certificates);
95 bool addCaCertificates(
96 const QString &path, QSsl::EncodingFormat format = QSsl::Pem,
97 QSslCertificate::PatternSyntax syntax = QSslCertificate::PatternSyntax::FixedString);
98 void addCaCertificate(
const QSslCertificate &certificate);
99 void addCaCertificates(
const QList<QSslCertificate> &certificates);
101 static QList<QSslCertificate> systemCaCertificates();
103 void setSslOption(QSsl::SslOption option,
bool on);
104 bool testSslOption(QSsl::SslOption option)
const;
106 QByteArray sessionTicket()
const;
107 void setSessionTicket(
const QByteArray &sessionTicket);
108 int sessionTicketLifeTimeHint()
const;
110 QSslKey ephemeralServerKey()
const;
113 QList<QSslEllipticCurve> ellipticCurves()
const;
114 void setEllipticCurves(
const QList<QSslEllipticCurve> &curves);
115 static QList<QSslEllipticCurve> supportedEllipticCurves();
117 QByteArray preSharedKeyIdentityHint()
const;
118 void setPreSharedKeyIdentityHint(
const QByteArray &hint);
120 QSslDiffieHellmanParameters diffieHellmanParameters()
const;
121 void setDiffieHellmanParameters(
const QSslDiffieHellmanParameters &dhparams);
123 QMap<QByteArray, QVariant> backendConfiguration()
const;
124 void setBackendConfigurationOption(
const QByteArray &name,
const QVariant &value);
125 void setBackendConfiguration(
const QMap<QByteArray, QVariant> &backendConfiguration = QMap<QByteArray, QVariant>());
127 static QSslConfiguration defaultConfiguration();
128 static void setDefaultConfiguration(
const QSslConfiguration &configuration);
130#if QT_CONFIG(dtls) || defined(Q_QDOC)
131 bool dtlsCookieVerificationEnabled()
const;
132 void setDtlsCookieVerificationEnabled(
bool enable);
134 static QSslConfiguration defaultDtlsConfiguration();
135 static void setDefaultDtlsConfiguration(
const QSslConfiguration &configuration);
138 bool handshakeMustInterruptOnError()
const;
139 void setHandshakeMustInterruptOnError(
bool interrupt);
141 bool missingCertificateIsFatal()
const;
142 void setMissingCertificateIsFatal(
bool cannotRecover);
144 void setOcspStaplingEnabled(
bool enable);
145 bool ocspStaplingEnabled()
const;
147 enum NextProtocolNegotiationStatus {
148 NextProtocolNegotiationNone,
149 NextProtocolNegotiationNegotiated,
150 NextProtocolNegotiationUnsupported
153 void setAllowedNextProtocols(
const QList<QByteArray> &protocols);
154 QList<QByteArray> allowedNextProtocols()
const;
156 QByteArray nextNegotiatedProtocol()
const;
157 NextProtocolNegotiationStatus nextProtocolNegotiationStatus()
const;
159 static const char ALPNProtocolHTTP2[];
160 static const char NextProtocolHttp1_1[];
162 QList<QSslKeyingMaterial> keyingMaterial()
const;
163 std::optional<QSslKeyingMaterial> keyingMaterial(
const QSslKeyingMaterial &material)
const;
164 void setKeyingMaterial(
const QList<QSslKeyingMaterial> &keyMaterial);
167 friend class QSslSocket;
168 friend class QSslConfigurationPrivate;
169 friend class QSslContext;
170 friend class QTlsBackend;
171 QSslConfiguration(QSslConfigurationPrivate *dd);
172 QSharedDataPointer<QSslConfigurationPrivate> d;