VMime
TLSSocket Class Referenceabstract

#include <TLSSocket.hpp>

Inheritance diagram for TLSSocket:
Collaboration diagram for TLSSocket:

Public Member Functions

virtual void handshake ()=0
virtual shared_ptr< security::cert::certificateChaingetPeerCertificates ()=0
Public Member Functions inherited from socket
virtual ~socket ()
virtual void connect (const string &address, const port_t port)=0
virtual void disconnect ()=0
virtual bool isConnected () const =0
virtual bool waitForRead (const int msecs=30000)=0
virtual bool waitForWrite (const int msecs=30000)=0
virtual void receive (string &buffer)=0
virtual size_t receiveRaw (byte_t *buffer, const size_t count)=0
virtual void send (const string &buffer)=0
virtual void send (const char *str)=0
virtual void sendRaw (const byte_t *buffer, const size_t count)=0
virtual size_t sendRawNonBlocking (const byte_t *buffer, const size_t count)=0
virtual size_t getBlockSize () const =0
virtual unsigned int getStatus () const =0
virtual const string getPeerName () const =0
virtual const string getPeerAddress () const =0
virtual shared_ptr< timeoutHandlergetTimeoutHandler ()=0
virtual void setTracer (shared_ptr< tracer > tracer)=0
virtual shared_ptr< tracergetTracer ()=0

Static Public Member Functions

static shared_ptr< TLSSocketwrap (shared_ptr< TLSSession > session, shared_ptr< socket > sok)

Additional Inherited Members

Public Types inherited from socket
enum  Status { STATUS_WOULDBLOCK = 0xf , STATUS_WANT_READ = 0x1 , STATUS_WANT_WRITE = 0x2 }
Protected Member Functions inherited from socket
 socket ()
Protected Member Functions inherited from object
 object ()
 object (const object &)
objectoperator= (const object &)
virtual ~object ()

Detailed Description

Add a TLS security layer to an existing socket.

Member Function Documentation

◆ getPeerCertificates()

virtual shared_ptr< security::cert::certificateChain > getPeerCertificates ( )
pure virtual

Return the peer's certificate (chain) as sent by the peer.

Returns
server certificate chain, or NULL if the handshake has not been performed yet

◆ handshake()

virtual void handshake ( )
pure virtual

Starts a TLS handshake on this connection.

Exceptions
exceptions::tls_exceptionif a fatal error occurs during the negociation process, exceptions::operation_timed_out if a time-out occurs

◆ wrap()

shared_ptr< TLSSocket > wrap ( shared_ptr< TLSSession > session,
shared_ptr< socket > sok )
static

Create a new socket object that adds a security layer around an existing socket.

Parameters
sessionTLS session
soksocket to wrap

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