DCMTK Version 3.6.7
OFFIS DICOM Toolkit
Loading...
Searching...
No Matches
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 Feb 28 2024 for DCMTK Version 3.6.7 by Doxygen 1.9.8