gloox
1.1-svn
|
#include <tlsdefault.h>
Public Types | |
enum | Type { VerifyingClient = 1, AnonymousClient = 2, VerifyingServer = 4, AnonymousServer = 8 } |
Public Member Functions | |
TLSDefault (TLSHandler *th, const std::string server, Type type=VerifyingClient) | |
virtual | ~TLSDefault () |
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 () |
virtual bool | handshake () |
virtual bool | isSecure () const |
virtual const CertInfo & | fetchTLSInfo () const |
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) |
Static Public Member Functions | |
static int | types () |
This is an abstraction of the various TLS backends.
You should use an instance of this class should you whish to use TLS encryption. TLS support for the main XMPP connection is managed by Client/ClientBase directly.
Definition at line 33 of file tlsdefault.h.
enum Type |
Supported TLS types.
Definition at line 40 of file tlsdefault.h.
TLSDefault | ( | TLSHandler * | th, |
const std::string | server, | ||
Type | type = VerifyingClient |
||
) |
Constructs a new TLS wrapper.
th | The TLSHandler to handle TLS-related events. |
server | The server to use in certificate verification. |
type | What you want to use this TLS object for. |
Definition at line 40 of file tlsdefault.cpp.
|
virtual |
Virtual Destructor.
Definition at line 80 of file tlsdefault.cpp.
|
virtual |
This function performs internal cleanup and will be called after a failed handshake attempt.
Implements TLSBase.
Definition at line 119 of file tlsdefault.cpp.
|
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.
data | The data to decrypt. |
Implements TLSBase.
Definition at line 114 of file tlsdefault.cpp.
|
virtual |
Use this function to feed unencrypted data to the encryption implementation. The encrypted result will be pushed to the TLSHandler's handleEncryptedData() function.
data | The data to encrypt. |
Implements TLSBase.
Definition at line 109 of file tlsdefault.cpp.
|
virtual |
This function is used to retrieve certificate and connection info of a encrypted connection.
Reimplemented from TLSBase.
Definition at line 135 of file tlsdefault.cpp.
|
virtual |
This functiopn performs the TLS handshake. Handshake data from the server side should be fed in using decrypt(). Handshake data that is to be sent to the other side is pushed through TLSBase's handleEncryptedData().
Implements TLSBase.
Definition at line 125 of file tlsdefault.cpp.
|
virtual |
Initializes the TLS module. This function must be called (and execute successfully) before the module can be used.
clientKey | The absolute path to the user's private key in PEM format. |
clientCerts | A path to a certificate bundle in PEM format. |
cacerts | A list of absolute paths to CA root certificate files in PEM format. |
Implements TLSBase.
Definition at line 85 of file tlsdefault.cpp.
|
virtual |
Returns the state of the encryption.
Reimplemented from TLSBase.
Definition at line 130 of file tlsdefault.cpp.
|
static |
Returns an ORed list of supported TLS types.
Definition at line 93 of file tlsdefault.cpp.