PSSLContext Class Reference

#include <pssl.h>

List of all members.

Public Types

enum  Method { SSLv23, SSLv2, SSLv3, TLSv1 }

Public Member Functions

 PSSLContext (const void *sessionId=NULL, PINDEX idSize=0)
 PSSLContext (Method method, const void *sessionId=NULL, PINDEX idSize=0)
 ~PSSLContext ()
 operator ssl_ctx_st * () const
PBoolean SetCAPath (const PDirectory &caPath)
PBoolean SetCAFile (const PFilePath &caFile)
PBoolean UseCertificate (const PSSLCertificate &certificate)
PBoolean UsePrivateKey (const PSSLPrivateKey &key)
PBoolean UseDiffieHellman (const PSSLDiffieHellman &dh)
PBoolean SetCipherList (const PString &ciphers)

Protected Member Functions

void Construct (Method method, const void *sessionId, PINDEX idSize)

Protected Attributes

ssl_ctx_st * context

Detailed Description

Context for SSL channels. This class embodies a common environment for all connections made via SSL using the PSSLChannel class. It includes such things as the version of SSL and certificates, CA's etc.


Member Enumeration Documentation

Enumerator:
SSLv23 
SSLv2 
SSLv3 
TLSv1 

Constructor & Destructor Documentation

PSSLContext::PSSLContext ( const void *  sessionId = NULL,
PINDEX  idSize = 0 
)

Create a new context for SSL channels. An optional session ID may be provided in the context. This is used to identify sessions across multiple channels in this context. The session ID is a completely arbitrary block of data. If sessionId is non NULL and idSize is zero, then sessionId is assumed to be a pointer to a C string. The default SSL method is SSLv23

Parameters:
sessionId Pointer to session ID
idSize Size of session ID
PSSLContext::PSSLContext ( Method  method,
const void *  sessionId = NULL,
PINDEX  idSize = 0 
)
Parameters:
method SSL connection method
sessionId Pointer to session ID
idSize Size of session ID
PSSLContext::~PSSLContext (  ) 

Clean up the SSL context.


Member Function Documentation

void PSSLContext::Construct ( Method  method,
const void *  sessionId,
PINDEX  idSize 
) [protected]
PSSLContext::operator ssl_ctx_st * (  )  const [inline]

Get the internal SSL context structure.

References context.

PBoolean PSSLContext::SetCAFile ( const PFilePath caFile  ) 

Set the CA certificate file.

Parameters:
caFile CA certificate file
PBoolean PSSLContext::SetCAPath ( const PDirectory caPath  ) 

Set the path to locate CA certificates.

Parameters:
caPath Directory for CA certificates
PBoolean PSSLContext::SetCipherList ( const PString ciphers  ) 

Set the available ciphers to those listed.

Parameters:
ciphers List of cipher names.
PBoolean PSSLContext::UseCertificate ( const PSSLCertificate certificate  ) 

Use the certificate specified.

PBoolean PSSLContext::UseDiffieHellman ( const PSSLDiffieHellman dh  ) 

Use the Diffie-Hellman parameters specified.

PBoolean PSSLContext::UsePrivateKey ( const PSSLPrivateKey key  ) 

Use the private key specified.


Member Data Documentation

ssl_ctx_st* PSSLContext::context [protected]

Referenced by operator ssl_ctx_st *().


The documentation for this class was generated from the following file:
Generated on Sun Jun 27 20:13:17 2010 for PTLib by  doxygen 1.6.3