• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KIO

KSSL Class Reference

#include <kssl.h>

List of all members.


Detailed Description

KDE SSL Wrapper Class.

This class implements KDE's SSL support by wrapping OpenSSL.

Author:
George Staikos <staikos@kde.org>
See also:
KExtendedSocket, TCPSlaveBase KDE SSL Class

Definition at line 42 of file kssl.h.


Public Member Functions

int accept (QIODevice *sock)
int accept (int sock)
void close ()
int connect (QIODevice *sock)
int connect (int sock)
KSSLConnectionInfo & connectionInfo ()
bool initialize ()
 KSSL (bool init=true)
int peek (char *buf, int len)
KSSLPeerInfo & peerInfo ()
int pending ()
int read (char *buf, int len)
bool reconfig ()
bool reInitialize ()
bool reusingSession () const
int seedWithEGD ()
const KSSLSession * session () const
void setAutoReconfig (bool ar)
bool setClientCertificate (KSSLPKCS12 *pkcs)
void setPeerHost (const QString &realHost=QString())
bool setSession (const KSSLSession *session)
bool setSettings (KSSLSettings *settings)
KSSLSettings * settings ()
bool TLSInit ()
int write (const char *buf, int len)
 ~KSSL ()

Static Public Member Functions

static bool doesSSLWork ()

Constructor & Destructor Documentation

KSSL::KSSL ( bool  init = true  ) 

Construct a KSSL object.

Parameters:
init Set this to false if you do not want this class to immediately initialize OpenSSL.

Definition at line 88 of file kssl.cpp.

KSSL::~KSSL (  ) 

Destroy this KSSL object.

Does not close any socket.

Definition at line 102 of file kssl.cpp.


Member Function Documentation

int KSSL::accept ( QIODevice *  sock  ) 

Definition at line 255 of file kssl.cpp.

int KSSL::accept ( int  sock  ) 

Connect the SSL session to the remote host using the provided socket descriptor.

This is for use with an SSL server application.

Parameters:
sock the socket descriptor to connect with. This must be an already connected socket.
Returns:
1 on success, 0 on error setting the file descriptor, -1 on other error.

Definition at line 267 of file kssl.cpp.

void KSSL::close (  ) 

Close the SSL session.

Definition at line 219 of file kssl.cpp.

int KSSL::connect ( QIODevice *  sock  ) 

Definition at line 341 of file kssl.cpp.

int KSSL::connect ( int  sock  ) 

Connect the SSL session to the remote host using the provided socket descriptor.

Parameters:
sock the socket descriptor to connect with. This must be an already connected socket.
Returns:
1 on success, 0 on error setting the file descriptor, -1 on other error.

Definition at line 354 of file kssl.cpp.

KSSLConnectionInfo & KSSL::connectionInfo (  ) 

Obtain a reference to the connection information.

Returns:
a reference to the connection information, valid after connected
See also:
KSSLConnectionInfo

Definition at line 596 of file kssl.cpp.

bool KSSL::doesSSLWork (  )  [static]

Determine if SSL is available and works.

Returns:
true is SSL is available and usable

Definition at line 554 of file kssl.cpp.

bool KSSL::initialize (  ) 

Initialize OpenSSL.

Returns:
true on success
This will do nothing if it is already initialized.
See also:
reInitialize

Definition at line 164 of file kssl.cpp.

int KSSL::peek ( char *  buf,
int  len 
)

Peek at available data from the remote host via SSL.

Parameters:
buf the buffer to read the data into.
len the maximum length of data to read.
Returns:
the number of bytes read, 0 on an exception, or -1 on error.

Definition at line 448 of file kssl.cpp.

KSSLPeerInfo & KSSL::peerInfo (  ) 

Obtain a reference to the information about the peer.

Returns:
a reference to the peer information, valid after connected
See also:
KSSLPeerInfo

Definition at line 605 of file kssl.cpp.

int KSSL::pending (  ) 

Determine if data is waiting to be read.

Returns:
-1 on error, 0 if no data is waiting, > 0 if data is waiting.

Definition at line 437 of file kssl.cpp.

int KSSL::read ( char *  buf,
int  len 
)

Read data from the remote host via SSL.

Parameters:
buf the buffer to read the data into.
len the maximum length of data to read.
Returns:
the number of bytes read, 0 on an exception, or -1 on error.

Definition at line 460 of file kssl.cpp.

bool KSSL::reconfig (  ) 

Trigger a reread of KSSL configuration and reInitialize() KSSL.

Returns:
true on successful reinitalizations
If you setAutoReconfig() to false, then this will simply reInitialize() and not read in the new configuration.
See also:
setAutoReconfig

Definition at line 526 of file kssl.cpp.

bool KSSL::reInitialize (  ) 

Reinitialize OpenSSL.

Returns:
true on success
This is not generally needed unless you are reusing the KSSL object for a new session.
See also:
initialize

Definition at line 244 of file kssl.cpp.

bool KSSL::reusingSession (  )  const

Determine if we are currently reusing an SSL session ID.

Returns:
true if we are reusing a session ID.

Definition at line 648 of file kssl.cpp.

int KSSL::seedWithEGD (  ) 

This will reseed the pseudo-random number generator with the EGD (entropy gathering daemon) if the EGD is configured and enabled.

You don't need to call this yourself normally.

Returns:
0 on success

Definition at line 109 of file kssl.cpp.

const KSSLSession * KSSL::session (  )  const

Obtain a pointer to the session information.

Returns:
a pointer to the session information. This is valid after connected, while connected. It is deleted by the KSSL object which returns it. May return 0L if no valid session exists.
See also:
KSSLSession

Definition at line 644 of file kssl.cpp.

void KSSL::setAutoReconfig ( bool  ar  ) 

Enable or disable automatic reconfiguration on initialize().

Parameters:
ar Set to false in order to disable auto-reloading of the KSSL configuration during initialize().
By default, KSSL will read its configuration on initialize(). You might want to disable this for performance reasons.

Definition at line 531 of file kssl.cpp.

bool KSSL::setClientCertificate ( KSSLPKCS12 *  pkcs  ) 

Use this to set the certificate to send to the server.

Do NOT delete the KSSLPKCS12 object until you are done with the session. It is not defined when KSSL will be done with this.

Parameters:
pkcs the valid PKCS#12 object to send.
Returns:
true if the certificate was properly set to the session.

Definition at line 610 of file kssl.cpp.

void KSSL::setPeerHost ( const QString &  realHost = QString()  ) 

Set the peer hostname to be used for certificate verification.

Parameters:
realHost the remote hostname as the user believes to be connecting to

Definition at line 601 of file kssl.cpp.

bool KSSL::setSession ( const KSSLSession *  session  ) 

Set an SSL session to use.

This deep copies the session so it doesn't have to remain valid. You need to call it after calling initialize or reInitialize. The ID is cleared in close().

Parameters:
session A valid session to reuse. If 0L, it will clear the session ID in memory.
Returns:
true on success

Definition at line 198 of file kssl.cpp.

bool KSSL::setSettings ( KSSLSettings *  settings  ) 

Set a new KSSLSettings instance as the settings.

This deletes the current instance of KSSLSettings.

Parameters:
settings A new, valid settings object.
Returns:
true on success

Definition at line 536 of file kssl.cpp.

KSSLSettings * KSSL::settings (  ) 

One is built by the constructor, so this will only return a NULL pointer if you set one with setSettings().

Returns:
the current settings instance

Definition at line 542 of file kssl.cpp.

bool KSSL::TLSInit (  ) 

This is used for applicationss which do STARTTLS or something similar.

It creates a TLS method regardless of the user's settings.

Returns:
true if TLS is successfully initialized

Definition at line 130 of file kssl.cpp.

int KSSL::write ( const char *  buf,
int  len 
)

Write data to the remote host via SSL.

Parameters:
buf the buffer to read the data from.
len the length of data to send from the buffer.
Returns:
the number of bytes written, 0 on an exception, or -1 on error.

Definition at line 498 of file kssl.cpp.


The documentation for this class was generated from the following files:
  • kssl.h
  • kssl.cpp

KIO

Skip menu "KIO"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal