PTLib  Version 2.10.4
PSSLContext Class Reference

Context for SSL channels. More...

#include <pssl.h>

List of all members.

Public Types

enum  Method { SSLv23, SSLv3, TLSv1 }

Public Member Functions

 PSSLContext (const void *sessionId=NULL, PINDEX idSize=0)
 Create a new context for SSL channels.
 PSSLContext (Method method, const void *sessionId=NULL, PINDEX idSize=0)
 ~PSSLContext ()
 Clean up the SSL context.
 operator ssl_ctx_st * () const
 Get the internal SSL context structure.
PBoolean SetCAPath (const PDirectory &caPath)
 Set the path to locate CA certificates.
PBoolean SetCAFile (const PFilePath &caFile)
 Set the CA certificate file.
PBoolean UseCertificate (const PSSLCertificate &certificate)
 Use the certificate specified.
PBoolean UsePrivateKey (const PSSLPrivateKey &key)
 Use the private key specified.
PBoolean UseDiffieHellman (const PSSLDiffieHellman &dh)
 Use the Diffie-Hellman parameters specified.
PBoolean SetCipherList (const PString &ciphers)
 Set the available ciphers to those listed.

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 
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:
sessionIdPointer to session ID
idSizeSize of session ID
PSSLContext::PSSLContext ( Method  method,
const void *  sessionId = NULL,
PINDEX  idSize = 0 
)
Parameters:
methodSSL connection method
sessionIdPointer to session ID
idSizeSize of session ID

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.

Set the CA certificate file.

Parameters:
caFileCA certificate file

Set the path to locate CA certificates.

Parameters:
caPathDirectory for CA certificates

Set the available ciphers to those listed.

Parameters:
ciphersList of cipher names.

Use the certificate specified.

Use the Diffie-Hellman parameters specified.

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines