DCMTK  Version 3.6.1 20120515
OFFIS DICOM Toolkit
Public Member Functions | Private Member Functions | Private Attributes
DcmTLSSCU Class Reference

Base class for implementing DICOM TLS-enabled Service Class User functionality. More...

+ Inheritance diagram for DcmTLSSCU:

List of all members.

Public Member Functions

 DcmTLSSCU ()
 Constructor, just initializes internal class members.
 DcmTLSSCU (const OFString &peerHost, const OFString &peerAETitle, const Uint16 &portNum)
 Initialize SCU with connection peer information.
virtual ~DcmTLSSCU ()
 Virtual destructor.
virtual OFCondition initNetwork ()
 Initialize network, i.e.
virtual OFCondition negotiateAssociation ()
 Negotiate association by using presentation contexts and parameters as defined by earlier function calls.
virtual void closeAssociation (const DcmCloseAssociationType closeType)
 Closes the association of this SCU.
virtual void addTrustedCertFile (const OFString &str)
 TODO: Not documented yet.
virtual void addTrustedCertDir (const OFString &certDir)
 TODO: Not documented yet.
virtual void enableAuthentication (const OFString &privateKey, const OFString &certFile, const char *passphrase=NULL, const int &privKeyFormat=SSL_FILETYPE_PEM, const int &certFormat=SSL_FILETYPE_PEM)
 TODO: Not documented yet.
virtual void disableAuthentication ()
 Disables authentication.
virtual void addCiphersuite (const OFString &cs)
 TODO: Not documented yet.
virtual void setReadSeedFile (const OFString &seedFile)
 TODO: Not documented yet.
virtual void setWriteSeedFile (const OFString &seedFile)
 TODO: Not documented yet.
virtual void setPeerCertVerification (const DcmCertificateVerification &cert)
 Set whether peer's certificate must be there, only is checked if there or is ignored.
virtual void setDHParam (const OFString &dhParam)
 Not documented yet.
virtual OFBool getAuthenticationParams (OFString &privKeyFile, OFString &certFile, const char *&passphrase, int &privKeyFormat, int &certFormat) const
 Returns OFTrue if authentication is enabled.
virtual void getTrustedCertFiles (OFList< OFString > &files) const
 TODO: Not documented yet.
virtual void getTrustedCertDirs (OFList< OFString > &trustedDirs) const
 TODO: Not documented yet.
virtual OFString getCiphersuites () const
 TODO: Not documented yet.
virtual OFString getReadSeedFile () const
 TODO: Not documented yet.
virtual OFString getWriteSeedFile () const
 TODO: Not documented yet.
virtual OFString getDHParam () const
 TODO: Not documented yet.

Private Member Functions

 DcmTLSSCU (const DcmTLSSCU &src)
 Private undefined copy-constructor.
DcmTLSSCUoperator= (const DcmTLSSCU &src)
 Private undefined operator=.

Private Attributes

DcmTLSTransportLayerm_tLayer
 The TLS layer responsible for all encryption/authentication stuff.
OFBool m_doAuthenticate
 If enabled, authentication of client/server is enabled.
OFList< OFStringm_trustedCertDirs
 A list of directories containing trusted certificates (if authentication is enabled)
OFList< OFStringm_trustedCertFiles
 A list of files containing trusted certificates (if authentication is enabled)
OFString m_privateKeyFile
 The file containing the private key (if authentication is enabled)
int m_privateKeyFileFormat
 Might be either "SSL_FILETYPE_PEM" (default) or "SSL_FILETYPE_ASN1".
OFString m_certificateFile
 File containing the certificate the SCU should use for authentication.
int m_certKeyFileFormat
 Might be either "SSL_FILETYPE_PEM" (default) or "SSL_FILETYPE_ASN1".
char * m_passwd
 Password used for unlocking the private key file.
OFString m_ciphersuites
 String containing all ciphersuites being (additionally? TODO) configured.
OFString m_readSeedFile
 TODO.
OFString m_writeSeedFile
 TODO.
DcmCertificateVerification m_certVerification
 Denotes how certificates are handled, i.e.
OFString m_dhparam
 File containing Diffie Hellman parameters to be used.

Detailed Description

Base class for implementing DICOM TLS-enabled Service Class User functionality.

This class is derived from the general DcmSCU class and just adds the corresponding TLS capabilities.

Warning:
This class is EXPERIMENTAL. Be careful to use it in production environment.

Constructor & Destructor Documentation

DcmTLSSCU::DcmTLSSCU ( const OFString peerHost,
const OFString peerAETitle,
const Uint16 &  portNum 
)

Initialize SCU with connection peer information.

Parameters:
peerHost[in] The hostname or IP of the host to talk to
peerAETtitle[in] AETitle of peer host to be used
portNum[in] TCP/IP port number to talk to
DcmTLSSCU::DcmTLSSCU ( const DcmTLSSCU src) [private]

Private undefined copy-constructor.

Shall never be called.

Parameters:
srcSource object

Member Function Documentation

virtual void DcmTLSSCU::addCiphersuite ( const OFString cs) [virtual]

TODO: Not documented yet.

Parameters:
cs[in] TODO: Not documented yet
virtual void DcmTLSSCU::addTrustedCertDir ( const OFString certDir) [virtual]

TODO: Not documented yet.

Parameters:
certDir[in] Not documented yet
virtual void DcmTLSSCU::addTrustedCertFile ( const OFString str) [virtual]

TODO: Not documented yet.

Parameters:
str[in] Not documented yet
virtual void DcmTLSSCU::closeAssociation ( const DcmCloseAssociationType  closeType) [virtual]

Closes the association of this SCU.

Parameters:
closeType[in] Define whether to release or abort the association

Reimplemented from DcmSCU.

virtual void DcmTLSSCU::disableAuthentication ( ) [virtual]

Disables authentication.

However, DcmTLSSCU will try to establish secured connection in terms of encrypting data. Default is that authentication is disabled.

virtual void DcmTLSSCU::enableAuthentication ( const OFString privateKey,
const OFString certFile,
const char *  passphrase = NULL,
const int &  privKeyFormat = SSL_FILETYPE_PEM,
const int &  certFormat = SSL_FILETYPE_PEM 
) [virtual]

TODO: Not documented yet.

Parameters:
privateKey[in] File with private key to authenticate with
certFile[in] File with certificate to authenticate with
passphrase[in] Password to access key. NULL asks user on console. "" will send empty password. Default is asking the user to enter password.
privKeyFormat[in] Format of private key parameter. Default is SSL_FILETYPE_PEM.
certFormat[in] Format of certificate file parameter. Default is SSL_FILETYPE_PEM.
virtual OFBool DcmTLSSCU::getAuthenticationParams ( OFString privKeyFile,
OFString certFile,
const char *&  passphrase,
int &  privKeyFormat,
int &  certFormat 
) const [virtual]

Returns OFTrue if authentication is enabled.

Parameters:
TODO,:Not documented yet
Returns:
Return value OFTrue
virtual OFString DcmTLSSCU::getCiphersuites ( ) const [virtual]

TODO: Not documented yet.

Returns:
TODO: Not documented yet
virtual OFString DcmTLSSCU::getDHParam ( ) const [virtual]

TODO: Not documented yet.

Returns:
TODO: Not documented yet
virtual OFString DcmTLSSCU::getReadSeedFile ( ) const [virtual]

TODO: Not documented yet.

Returns:
TODO: Not documented yet
virtual void DcmTLSSCU::getTrustedCertDirs ( OFList< OFString > &  trustedDirs) const [virtual]

TODO: Not documented yet.

Parameters:
trustedDirs[out] TODO: Not documented yet
virtual void DcmTLSSCU::getTrustedCertFiles ( OFList< OFString > &  files) const [virtual]

TODO: Not documented yet.

Parameters:
files[out] TODO: Not documented yet
virtual OFString DcmTLSSCU::getWriteSeedFile ( ) const [virtual]

TODO: Not documented yet.

Returns:
TODO: Not documented yet
virtual OFCondition DcmTLSSCU::initNetwork ( ) [virtual]

Initialize network, i.e.

prepare for association negotiation.

Returns:
EC_Normal if initialization was successful, otherwise error code

Reimplemented from DcmSCU.

Negotiate association by using presentation contexts and parameters as defined by earlier function calls.

Returns:
EC_Normal if negotiation was successful, otherwise error code

Reimplemented from DcmSCU.

DcmTLSSCU& DcmTLSSCU::operator= ( const DcmTLSSCU src) [private]

Private undefined operator=.

Shall never be called.

Parameters:
srcSource object
Returns:
Reference to this
virtual void DcmTLSSCU::setDHParam ( const OFString dhParam) [virtual]

Not documented yet.

Parameters:
dhParam[in] Not documented yet
virtual void DcmTLSSCU::setPeerCertVerification ( const DcmCertificateVerification &  cert) [virtual]

Set whether peer's certificate must be there, only is checked if there or is ignored.

Parameters:
cert[in] The following values are permitted: DCV_requireCertificate, DCV_checkCertificate, DCV_ignoreCertificate
virtual void DcmTLSSCU::setReadSeedFile ( const OFString seedFile) [virtual]

TODO: Not documented yet.

Parameters:
seedFile[in] TODO: Not documented yet
virtual void DcmTLSSCU::setWriteSeedFile ( const OFString seedFile) [virtual]

TODO: Not documented yet.

Parameters:
seedFile[in] TODO: Not documented yet

Member Data Documentation

DcmCertificateVerification DcmTLSSCU::m_certVerification [private]

Denotes how certificates are handled, i.e.

whether they are required, validated or only validated if present

char* DcmTLSSCU::m_passwd [private]

Password used for unlocking the private key file.

If NULL, password is asked from STDIN. If empty string (""), password is sent empty. All others values are sent as given.


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


Generated on Tue May 15 2012 for DCMTK Version 3.6.1 20120515 by Doxygen 1.7.5.1-20111027