this class represents a TLS (Transport Layer Security) V1 based secure transport connection.
More...
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 OFString & | dumpConnectionParameters (OFString &str) |
| | dump the characteristics of the current connection
|
| virtual const char * | errorString (DcmTransportLayerStatus code) |
| | returns an error string for a given error code.
|
| | DcmTransportConnection (int openSocket) |
| | constructor.
|
|
virtual | ~DcmTransportConnection () |
| | destructor
|
| void | dumpConnectionParameters (STD_NAMESPACE ostream &out) |
| | prints the characteristics of the current connection on the given output stream.
|
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
|
Additional Inherited Members |
| static OFBool | selectReadableAssociation (DcmTransportConnection *connections[], int connCount, int timeout) |
| | indicates which of the specified transport connections is ready for reading.
|
| int | getSocket () |
| | returns the socket file descriptor managed by this object.
|
| void | setSocket (int socket) |
| | set the socket file descriptor managed by this object.
|
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::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 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.
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
-
- Returns
- description for error code
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 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 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 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 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.
The documentation for this class was generated from the following file: