L_DicomSetAuthDataISCL

#include "ltdic.h"

L_UINT32 EXT_FUNCTION L_DicomSetAuthDataISCL(hNet, pBuffer, nLength)

HDICOMNET hNet;

/* handle to an existing DICOM Network */

L_VOID *pBuffer;

/* pointer to the authentication data */

L_UINT32 nLength;

/* the size of the authentication data */

Sets the authentication data used during the mutual authentication process. This function is available in Medical Suite toolkits.

Parameter

Description

hNet

Handle to an existing DICOM Network. This is the handle returned from the L_DicomCreateNet function.

pBuffer

Pointer to an array containing the authentication data.

nLength

Length of the authentication data, in bytes.

Returns

DICOM_SUCCESS

The function was successful.

DICOM_ERROR_PARAMETER

A parameter error occurred. The authentication data could not be set. (pBuffer is NULL, or nLength is not in the range 1 – 128.). Refer to Return Codes.

Comments

Every ISCL-compliant entity must have between 1 and 128 bytes of authentication data. These authentication data are exchanged between client and server during the mutual authentication process. This function sets an array of 1 to 128 bytes that contains authentication data.

The authentication data is data exchanged in plain text. After the mutual authentication process, the communication entities can verify the authentication data of the other entity (client or server) and, if the authentication data is wrong, can close the connection.

Required DLLs and Libraries

LTDIC

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

See Also

Functions:

L_DicomCreateNet, L_DicomSetDefaultSigningISCL, L_DicomSetDefaultEncryptionISCL, L_DicomSetMaxCommBlockLengthISCL, L_DicomSetMaxMessageLengthISCL, L_DicomSetMutualAuthAlgISCL, L_DicomSetMutualAuthKeyISCL, L_DicomSetIndexForMutualAuthISCL, L_DicomSetEncryptKeyISCL, L_DicomSetIndexForEncryptISCL

Topics:

DICOM Net: Authentication Data, mode and process

 

Adding Security to a DICOM Connection

 

General Integrated Secure Communication Layer (ISCL) Information

Example

{
   HDICOMNET hNet1, hNet2;
   L_DicomStartUp ();
   hNet1 = L_DicomCreateNet ("", DICOM_SECURE_ISCL);
   hNet2 = L_DicomCreateNet("", DICOM_SECURE_ISCL);
   L_DicomSetAuthDataISCL(hNet1, "Server LEAD ISCL", 13);
   char data[5] = {0x21, 0x14, 0x00, 0x45, 0x254};
   L_DicomSetAuthDataISCL(hNet2, data, 5);   // authentication data can be binary data
   // delete hNet1, hNet2 and shutdown the DICOM network
   L_DicomFreeNet (hNet1);
   L_DicomFreeNet(hNet2);
   L_DicomShutDown ();
}