24 #include <QtNetwork/QSslSocket>
25 #include <QtNetwork/QSslConfiguration>
59 Algorithm algorithm()
const;
60 bool isExportable()
const;
61 KeySecrecy secrecy()
const;
62 QByteArray toDer()
const;
64 KSslKeyPrivate *
const d;
68 class KSslCipherPrivate;
79 QString authenticationMethod()
const;
80 QString encryptionMethod()
const;
81 QString keyExchangeMethod()
const;
85 int supportedBits()
const;
88 static QList<KSslCipher> supportedCiphers();
91 KSslCipherPrivate *
const d;
95 class KSslErrorPrivate;
125 QSslCertificate certificate()
const;
127 KSslErrorPrivate *
const d;
140 class KTcpSocketPrivate;
149 UnconnectedState = 0,
159 UnknownSslVersion = 0x01,
165 SecureProtocols = 0x20,
166 AnySslVersion = SslV2 | SslV3 | TlsV1
168 Q_DECLARE_FLAGS(SslVersions, SslVersion)
178 UnsupportedSocketOperationError
229 virtual bool atEnd()
const;
230 virtual qint64 bytesAvailable()
const;
231 virtual qint64 bytesToWrite()
const;
232 virtual bool canReadLine()
const;
233 virtual void close();
234 virtual bool isSequential()
const;
235 virtual bool open(QIODevice::OpenMode
open);
236 virtual bool waitForBytesWritten(
int msecs);
238 virtual bool waitForReadyRead(
int msecs = 30000);
241 virtual qint64 writeData (
const char *data,
qint64 maxSize);
245 void encryptedBytesWritten(
qint64 written );
250 void connectToHost(
const QHostAddress &hostAddress, quint16 port, ProxyPolicy policy = AutoProxy);
259 void disconnectFromHost();
262 QList<KSslError> sslErrors()
const;
265 bool isValid()
const;
266 QHostAddress localAddress()
const;
267 QHostAddress peerAddress()
const;
269 quint16 peerPort()
const;
270 void setVerificationPeerName(
const QString& hostName);
272 #ifndef QT_NO_NETWORKPROXY
276 QNetworkProxy proxy()
const;
278 qint64 readBufferSize()
const;
280 #ifndef QT_NO_NETWORKPROXY
284 void setProxy(
const QNetworkProxy &proxy);
286 void setReadBufferSize(
qint64 size);
288 bool waitForConnected(
int msecs = 30000);
289 bool waitForDisconnected(
int msecs = 30000);
292 void addCaCertificate(
const QSslCertificate &certificate);
295 void addCaCertificates(
const QList<QSslCertificate> &certificates);
296 QList<QSslCertificate> caCertificates()
const;
297 QList<KSslCipher> ciphers()
const;
298 void connectToHostEncrypted(
const QString &hostName, quint16 port, OpenMode openMode = ReadWrite);
300 QSslCertificate localCertificate()
const;
301 QList<QSslCertificate> peerCertificateChain()
const;
304 void setCaCertificates(
const QList<QSslCertificate> &certificates);
305 void setCiphers(
const QList<KSslCipher> &ciphers);
307 void setLocalCertificate(
const QSslCertificate &certificate);
308 void setLocalCertificate(
const QString &fileName, QSsl::EncodingFormat format = QSsl::Pem);
309 void setPrivateKey(
const KSslKey &key);
311 QSsl::EncodingFormat format = QSsl::Pem,
312 const QByteArray &passPhrase = QByteArray());
313 void setAdvertisedSslVersion(SslVersion
version);
314 SslVersion advertisedSslVersion()
const;
315 SslVersion negotiatedSslVersion()
const;
316 QString negotiatedSslVersionName()
const;
317 bool waitForEncrypted(
int msecs = 30000);
319 EncryptionMode encryptionMode()
const;
328 QVariant socketOption(QAbstractSocket::SocketOption options)
const;
337 void setSocketOption(QAbstractSocket::SocketOption options,
const QVariant &value);
344 QSslConfiguration sslConfiguration()
const;
351 void setSslConfiguration(
const QSslConfiguration& configuration);
359 #ifndef QT_NO_NETWORKPROXY
360 void proxyAuthenticationRequired(
const QNetworkProxy &proxy, QAuthenticator *authenticator);
367 void encryptionModeChanged(EncryptionMode);
368 void sslErrors(
const QList<KSslError> &errors);
371 void ignoreSslErrors();
372 void startClientEncryption();
375 Q_PRIVATE_SLOT(d,
void reemitReadyRead())
376 Q_PRIVATE_SLOT(d,
void reemitSocketError(QAbstractSocket::SocketError))
377 Q_PRIVATE_SLOT(d,
void reemitSslErrors(const QList<QSslError> &))
378 Q_PRIVATE_SLOT(d,
void reemitStateChanged(QAbstractSocket::SocketState))
379 Q_PRIVATE_SLOT(d,
void reemitModeChanged(QSslSocket::SslMode))
382 void showSslErrors();
384 friend class KTcpSocketPrivate;
385 KTcpSocketPrivate *const d;
410 KSslErrorUiData(
const QSslSocket *socket);
411 KSslErrorUiData(
const KSslErrorUiData &other);
412 KSslErrorUiData &operator=(
const KSslErrorUiData &);
425 #endif // KTCPSOCKET_H