DCMTK Version 3.6.7
OFFIS DICOM Toolkit
dcmtls: security extensions for the network library

This module contains classes that implement DICOM network communication tunneled through a Transport Layer Security (TLS) connection, conforming to the DICOM "Security Enhancements One" extension (formerly Supplement 31). This module requires the external OpenSSL library.

The main interface classes are:

Files

The following files provide further documentation:

Examples

The following example shows a code fragment that enables TLS for an association requestor application. The complete network initialization code is not shown here and most error checking code is omitted for brevity.

T_ASC_Network *net; // network initialization code not shown,
T_ASC_Parameters *params; // we just assume these pointers to be valid
DcmTLSTransportLayer::initializeOpenSSL(); // initialize OpenSSL library
// create TLS object that initializes the random generator through a file
// "random.dat" containing random data (1 kByte is sufficient).
NET_REQUESTOR, "random.dat");
if (tLayer->setPrivateKeyFile("privkey.pem", SSL_FILETYPE_PEM).bad())
{
cerr << "unable to load private key" << endl;
return;
}
if (tLayer->setCertificateFile("certificate.pem", SSL_FILETYPE_PEM).bad())
{
cerr << "unable to load certificate" << endl;
return;
}
// enable the ciphersuites for the BCP 195 secure transport profile
// accept any certificate from the remote site (not recommended)
// register and activate TLS layer
ASC_setTransportLayer(net, tLayer, 1);
ASC_setTransportLayerType(params, 1);
factory class which creates secure TLS transport layer connections and maintains the parameters commo...
Definition: tlslayer.h:107
void setCertificateVerification(DcmCertificateVerification vtype)
defines how peer certificates should be treated when negotiating a TLS connection.
OFCondition activateCipherSuites()
activate the current list of ciphersuites by transferring to the OpenSSL layer This method needs to b...
OFCondition setPrivateKeyFile(const char *fileName, DcmKeyFileFormat fileType)
loads the private key used for authentication of this application from a file.
OFCondition setCertificateFile(const char *fileName, DcmKeyFileFormat fileType)
loads the certificate (public key) used for authentication of this application from a file.
OFCondition setTLSProfile(DcmTLSSecurityProfile profile)
replace the current list of ciphersuites by the list of ciphersuites for the given profile.
static void initializeOpenSSL()
Initialize OpenSSL Library.
OFBool bad() const
check if the status is not OK, i.e. error or failure.
Definition: ofcond.h:302
Definition: assoc.h:131
Definition: assoc.h:221
@ TSP_Profile_BCP195
DICOM BCP 195 TLS Profile, based on RFC 7525.
Definition: tlsciphr.h:73
@ DCV_ignoreCertificate
do not check peer certificate
Definition: tlslayer.h:77


Generated on Wed Jan 4 2023 for DCMTK Version 3.6.7 by Doxygen 1.9.4