L_DicomGetPeerEncryptionISCL

#include "ltdic.h"

L_LTDIC_API L_UINT32 L_DicomGetPeerEncryptionISCL(hNet)

HDICOMNET hNet;

/* handle to an existing DICOM Network */

Returns a value that represents the encryption mode the sender used when sending a message. This function is available in the PACS Imaging toolkits.

Parameter

Description

hNet

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

Returns

Returns a value representing the current encryption mode used by the sender.  Possible values are:

Value

Meaning

DICOM_ISCL_ENCRYPT_NONE

The data is transmitted without encryption.

DICOM_ISCL_ENCRYPT_DESCBC

The data is transmitted encrypted using the DES algorithm in cipher block chaining mode.

Comments

This function returns a value that represents the encryption mode the sender used when sending a message to the receiver. If the encryption mode is not the same for the sender and the receiver, the message will not be sent successfully. If the MAC type is not the same on the sender and the receiver, the message will not be sent successfully.

The L_DicomGetPeerEncryptionISCL function can only be called by the receiver, once the sender has attempted to send a message.

To set the encryption mode, use the L_DicomSetDefaultEncryptionISCL function.

To set the MAC type, use the L_DicomSetDefaultSigningISCL function.

The encryption mode and the MAC are specified for every message, not for each connection. Every message can have a different encryption mode and MAC, keeping the connection parameters unchanged.

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

Platforms

Win32, x64

See Also

Functions:

L_DicomCreateNet, L_DicomStartUp, L_DicomGetPeerMACISCL, L_DicomGetPeerAuthDataISCL, L_DicomGetPeerRequestedMessageLengthISCL

Topics:

DICOM Net: Sending Message

 

Sending and Receiving Messages

 

General Integrated Secure Communication Layer (ISCL) Information

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
L_INT DicomGetPeerEncryptionISCLExample(L_VOID)
{
   HDICOMNET hDicomNet = NULL;
   hDicomNet = L_DicomCreateNetExt(MAKE_IMAGE_PATH(TEXT("")),DICOM_SECURE_ISCL, NULL);
   // hDicomNet is a handle for a DICOM Network, get its value here
   L_TCHAR message[120], signalg[40];
   if(L_DicomGetPeerEncryptionISCL(hDicomNet) == DICOM_ISCL_ENCRYPT_NONE)
      lstrcpy(signalg, TEXT("no encryption"));
   else if(L_DicomGetPeerMACISCL(hDicomNet) == DICOM_ISCL_ENCRYPT_DESCBC)
      lstrcpy(signalg, TEXT("DES algorithm, cipher block chaining mode"));
   wsprintf(message, TEXT("Sender tried to send a message with encryption algorithm %s"), signalg);
   MessageBox(NULL, message,TEXT("Notice"), MB_OK);
   return DICOM_SUCCESS;
}