00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef _KSSL_H
00022
#define _KSSL_H
00023
00024
#include <ksslsettings.h>
00025
#include <ksslpeerinfo.h>
00026
#include <ksslconnectioninfo.h>
00027
00028
class KSSLPrivate;
00029
class KSSLCertificate;
00030
class KSSLPKCS12;
00031
class KSSLSession;
00032
00042 class KIO_EXPORT KSSL {
00043
public:
00050 KSSL(
bool init =
true);
00051
00057 ~KSSL();
00058
00064
static bool doesSSLWork();
00065
00074
bool initialize();
00075
00082
bool TLSInit();
00083
00094
bool setSession(
const KSSLSession *session);
00095
00099
void close();
00100
00110
bool reInitialize();
00111
00121
bool reconfig();
00122
00132
void setAutoReconfig(
bool ar);
00133
00141
int seedWithEGD();
00142
00151
bool setSettings(
KSSLSettings *settings);
00152
00159 KSSLSettings * settings() {
return m_cfg; }
00160
00170
bool setClientCertificate(
KSSLPKCS12 *pkcs);
00171
00180
void setProxyUse(
bool active,
QString realIP = QString::null,
int realPort = 0,
QString proxy = QString::null) KDE_DEPRECATED;
00181
00188
void setPeerHost(
QString realHost = QString::null);
00189
00199
int connect(
int sock);
00200
00210
int accept(
int sock);
00211
00219
int read(
void *buf,
int len);
00220
00228
int peek(
void *buf,
int len);
00229
00238
int write(
const void *buf,
int len);
00239
00245
int pending();
00246
00254
KSSLConnectionInfo& connectionInfo();
00255
00263
KSSLPeerInfo& peerInfo();
00264
00274
const KSSLSession* session() const;
00275
00281
bool reusingSession() const;
00282
00283 private:
00284 static
bool m_bSSLWorks;
00285
bool m_bInit;
00286
bool m_bAutoReconfig;
00287
KSSLSettings *m_cfg;
00288
KSSLConnectionInfo m_ci;
00289
KSSLPeerInfo m_pi;
00290
00291 KSSLPrivate *d;
00292
00293
void setConnectionInfo();
00294
void setPeerInfo();
00295
bool setVerificationLogic();
00296 };
00297
00298
00299 #endif
00300