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;
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)
179 SslHandshakeFailedError
230 virtual bool atEnd()
const;
231 virtual qint64 bytesAvailable()
const;
232 virtual qint64 bytesToWrite()
const;
233 virtual bool canReadLine()
const;
234 virtual void close();
235 virtual bool isSequential()
const;
236 virtual bool open(QIODevice::OpenMode
open);
237 virtual bool waitForBytesWritten(
int msecs);
239 virtual bool waitForReadyRead(
int msecs = 30000);
242 virtual qint64 writeData (
const char *data,
qint64 maxSize);
246 void encryptedBytesWritten(
qint64 written );
251 void connectToHost(
const QHostAddress &hostAddress, quint16 port, ProxyPolicy policy = AutoProxy);
260 void disconnectFromHost();
266 bool isValid()
const;
267 QHostAddress localAddress()
const;
268 QHostAddress peerAddress()
const;
270 quint16 peerPort()
const;
271 void setVerificationPeerName(
const QString& hostName);
273 #ifndef QT_NO_NETWORKPROXY
277 QNetworkProxy proxy()
const;
279 qint64 readBufferSize()
const;
281 #ifndef QT_NO_NETWORKPROXY
285 void setProxy(
const QNetworkProxy &proxy);
287 void setReadBufferSize(
qint64 size);
289 bool waitForConnected(
int msecs = 30000);
290 bool waitForDisconnected(
int msecs = 30000);
293 void addCaCertificate(
const QSslCertificate &certificate);
299 void connectToHostEncrypted(
const QString &hostName, quint16 port, OpenMode openMode = ReadWrite);
301 QSslCertificate localCertificate()
const;
308 void setLocalCertificate(
const QSslCertificate &certificate);
309 void setLocalCertificate(
const QString &fileName, QSsl::EncodingFormat format = QSsl::Pem);
310 void setPrivateKey(
const KSslKey &key);
312 QSsl::EncodingFormat format = QSsl::Pem,
313 const QByteArray &passPhrase = QByteArray());
314 void setAdvertisedSslVersion(SslVersion
version);
315 SslVersion advertisedSslVersion()
const;
316 SslVersion negotiatedSslVersion()
const;
317 QString negotiatedSslVersionName()
const;
318 bool waitForEncrypted(
int msecs = 30000);
320 EncryptionMode encryptionMode()
const;
329 QVariant socketOption(QAbstractSocket::SocketOption options)
const;
338 void setSocketOption(QAbstractSocket::SocketOption options,
const QVariant &value);
345 QSslConfiguration sslConfiguration()
const;
352 void setSslConfiguration(
const QSslConfiguration& configuration);
360 #ifndef QT_NO_NETWORKPROXY
361 void proxyAuthenticationRequired(
const QNetworkProxy &proxy, QAuthenticator *authenticator);
368 void encryptionModeChanged(EncryptionMode);
372 void ignoreSslErrors();
373 void startClientEncryption();
376 Q_PRIVATE_SLOT(d,
void reemitReadyRead())
377 Q_PRIVATE_SLOT(d,
void reemitSocketError(QAbstractSocket::SocketError))
378 Q_PRIVATE_SLOT(d,
void reemitSslErrors(const
QList<QSslError> &))
379 Q_PRIVATE_SLOT(d,
void reemitStateChanged(QAbstractSocket::SocketState))
380 Q_PRIVATE_SLOT(d,
void reemitModeChanged(QSslSocket::SslMode))
383 void showSslErrors();
385 friend class KTcpSocketPrivate;
386 KTcpSocketPrivate *const d;
411 KSslErrorUiData(
const QSslSocket *socket);
412 KSslErrorUiData(
const KSslErrorUiData &other);
413 KSslErrorUiData &operator=(
const KSslErrorUiData &);
426 #endif // KTCPSOCKET_H