gloox  1.1-svn
Public Member Functions | List of all members
SChannelBase Class Reference

#include <tlsschannelbase.h>

Inheritance diagram for SChannelBase:
Inheritance graph
[legend]

Public Member Functions

 SChannelBase (TLSHandler *th, const std::string &server)
virtual ~SChannelBase ()
virtual bool init (const std::string &clientKey=EmptyString, const std::string &clientCerts=EmptyString, const StringList &cacerts=StringList())
virtual bool encrypt (const std::string &data)
virtual int decrypt (const std::string &data)
virtual void cleanup ()
- Public Member Functions inherited from TLSBase
 TLSBase (TLSHandler *th, const std::string server)
virtual ~TLSBase ()
void setInitLib (bool init)
virtual void setSubject (const std::string &subject)
virtual bool handshake ()=0
virtual bool isSecure () const
virtual const CertInfofetchTLSInfo () const

Detailed Description

This class implements a TLS backend using SChannel.

Author
Jakob Schroeter js@ca.nosp@m.maya.nosp@m..net
Since
0.9

Definition at line 38 of file tlsschannelbase.h.

Constructor & Destructor Documentation

SChannelBase ( TLSHandler th,
const std::string &  server 
)

Constructor.

Parameters
thThe TLSHandler to handle TLS-related events.
serverThe server to use in certificate verification.

Definition at line 22 of file tlsschannelbase.cpp.

~SChannelBase ( )
virtual

Virtual destructor.

Definition at line 29 of file tlsschannelbase.cpp.

Member Function Documentation

void cleanup ( )
virtual

This function performs internal cleanup and will be called after a failed handshake attempt.

Implements TLSBase.

Definition at line 277 of file tlsschannelbase.cpp.

int decrypt ( const std::string &  data)
virtual

Use this function to feed encrypted data or received handshake data to the encryption implementation. Handshake data will be eaten, unencrypted data will be pushed to the TLSHandler's handleDecryptedData() function.

Parameters
dataThe data to decrypt.
Returns
The number of bytes used from the input.

Implements TLSBase.

Definition at line 143 of file tlsschannelbase.cpp.

bool encrypt ( const std::string &  data)
virtual

Use this function to feed unencrypted data to the encryption implementation. The encrypted result will be pushed to the TLSHandler's handleEncryptedData() function.

Parameters
dataThe data to encrypt.
Returns
Whether or not the data was used successfully.

Implements TLSBase.

Definition at line 69 of file tlsschannelbase.cpp.

bool init ( const std::string &  clientKey = EmptyString,
const std::string &  clientCerts = EmptyString,
const StringList cacerts = StringList() 
)
virtual

Initializes the TLS module. This function must be called (and execute successfully) before the module can be used.

Parameters
clientKeyThe absolute path to the user's private key in PEM format.
clientCertsA path to a certificate bundle in PEM format.
cacertsA list of absolute paths to CA root certificate files in PEM format.
Returns
False if initialization failed, true otherwise.
Note
The arguments are not used in the SChannel (native on Windows) implementation, init() needs to be called nonetheless. Use setSubject() to set client/server key/certificate.
Since
1.0

Implements TLSBase.

Definition at line 36 of file tlsschannelbase.cpp.


The documentation for this class was generated from the following files: