DcmTLSConnection Class Reference

this class represents a TLS (Transport Layer Security) V1 based secure transport connection. More...

Inheritance diagram for DcmTLSConnection:

DcmTransportConnection List of all members.

Public Member Functions

 DcmTLSConnection (int openSocket, SSL *newTLSConnection)
 constructor.
virtual ~DcmTLSConnection ()
 destructor
virtual DcmTransportLayerStatus serverSideHandshake ()
 performs server side handshake on established socket.
virtual DcmTransportLayerStatus clientSideHandshake ()
 performs client side handshake on established socket.
virtual DcmTransportLayerStatus renegotiate (const char *newSuite)
 performs a re-negotiation of the connection with different connection parameters.
virtual ssize_t read (void *buf, size_t nbyte)
 attempts to read nbyte bytes from the transport connection and writes them into the given buffer.
virtual ssize_t write (void *buf, size_t nbyte)
 attempts to write nbyte bytes from the given buffer to the transport connection.
virtual void close ()
 Closes the transport connection.
virtual unsigned long getPeerCertificateLength ()
 returns the size in bytes of the peer certificate of a secure connection.
virtual unsigned long getPeerCertificate (void *buf, unsigned long bufLen)
virtual OFBool networkDataAvailable (int timeout)
 checks if data is available to be read on the transport connection.
virtual OFBool isTransparentConnection ()
 returns OFTrue if this connection is a transparent TCP connection, OFFalse if the connection is a secure connection.
virtual OFStringdumpConnectionParameters (OFString &str)
 dump the characteristics of the current connection
virtual const char * errorString (DcmTransportLayerStatus code)
 returns an error string for a given error code.

Private Member Functions

 DcmTLSConnection (const DcmTLSConnection &)
 private undefined copy constructor
DcmTLSConnectionoperator= (const DcmTLSConnection &)
 private undefined assignment operator

Private Attributes

SSL * tlsConnection
 pointer to the TLS connection structure used by the OpenSSL library
unsigned long lastError
 last error code returned by the OpenSSL library

Detailed Description

this class represents a TLS (Transport Layer Security) V1 based secure transport connection.

Definition at line 47 of file tlstrans.h.


Constructor & Destructor Documentation

DcmTLSConnection::DcmTLSConnection ( int  openSocket,
SSL *  newTLSConnection 
)

constructor.

Parameters:
openSocket TCP/IP socket to be used for the transport connection. the connection must already be establised on socket level. This object takes over control of the socket.
newTLSConnection pointer to intialized OpenSSL connection object to be used for this connection.


Member Function Documentation

virtual DcmTransportLayerStatus DcmTLSConnection::serverSideHandshake (  )  [virtual]

performs server side handshake on established socket.

This function is used to establish a secure transport connection over the established TCP connection.

Returns:
TCS_ok if successful, an error code otherwise.

Implements DcmTransportConnection.

virtual DcmTransportLayerStatus DcmTLSConnection::clientSideHandshake (  )  [virtual]

performs client side handshake on established socket.

This function is used to establish a secure transport connection over the established TCP connection.

Returns:
TCS_ok if successful, an error code otherwise.

Implements DcmTransportConnection.

virtual DcmTransportLayerStatus DcmTLSConnection::renegotiate ( const char *  newSuite  )  [virtual]

performs a re-negotiation of the connection with different connection parameters.

Used to change the parameters of the secure transport connection.

Parameters:
newSuite string identifying the ciphersuite to be negotiated.
Returns:
TCS_ok if successful, an error code otherwise.

Implements DcmTransportConnection.

virtual ssize_t DcmTLSConnection::read ( void *  buf,
size_t  nbyte 
) [virtual]

attempts to read nbyte bytes from the transport connection and writes them into the given buffer.

Parameters:
buf buffer
nbyte number of bytes to read
Returns:
number of bytes read, negative number if unsuccessful.

Implements DcmTransportConnection.

virtual ssize_t DcmTLSConnection::write ( void *  buf,
size_t  nbyte 
) [virtual]

attempts to write nbyte bytes from the given buffer to the transport connection.

Parameters:
buf buffer
nbyte number of bytes to write
Returns:
number of bytes written, negative number if unsuccessful.

Implements DcmTransportConnection.

virtual void DcmTLSConnection::close (  )  [virtual]

Closes the transport connection.

If a secure connection is used, a closure alert is sent before the connection is closed.

Implements DcmTransportConnection.

virtual unsigned long DcmTLSConnection::getPeerCertificateLength (  )  [virtual]

returns the size in bytes of the peer certificate of a secure connection.

Returns:
peer certificate length in bytes

Implements DcmTransportConnection.

virtual OFBool DcmTLSConnection::networkDataAvailable ( int  timeout  )  [virtual]

checks if data is available to be read on the transport connection.

Parameters:
timeout maximum number of seconds to wait if no data is available. If this parameter is 0, the function does not block.
Returns:
OFTrue if data is available, OFFalse otherwise.

Implements DcmTransportConnection.

virtual OFString& DcmTLSConnection::dumpConnectionParameters ( OFString str  )  [virtual]

dump the characteristics of the current connection

Parameters:
str the string to dump into
Returns:
reference to string

Implements DcmTransportConnection.

virtual const char* DcmTLSConnection::errorString ( DcmTransportLayerStatus  code  )  [virtual]

returns an error string for a given error code.

Parameters:
code error code
Returns:
description for error code

Implements DcmTransportConnection.


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1