L_DicomGetKeyExchangeAlgorithmTLS

#include "ltdic.h"

L_LTDIC_API L_UINT32 L_DicomGetKeyExchangeAlgorithmTLS(hNet, cipher)

HDICOMNET hNet;

/* handle to an existing DICOM Network */

L_CIPHERSUITE cipher;

/* ciphersuite */

Returns a value that represents the key exchange algorithm.

Parameter

Description

hNet

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

cipher

Value that indicates the ciphersuite for which to get the key exchange algorithm.

Returns

Value that represents the key exchange algorithm. Possible values are:

Value

Meaning

L_KEYEXCHANGE_NONE

[0x00] Returned if no secure connection is established.

L_KEYEXCHANGE_RSA_SIGNED_DHE

[0x40] RSA signed Diffie-Hellman ephemeral.

L_KEYEXCHANGE_RSA

[0x41] RSA key exchange

L_KEYEXCHANGE_DH

[0x42] Diffie-Hellman key exchange

L_KEYEXCHANGE_DH_DSS

[0x43] DS/DSS (Digital Signature Standard/Diffie-Hellman) key exchange

L_KEYEXCHANGE_FORTEZZA

[0x44] FORTEZZA key exchange

Comments

The key exchange algorithm is the algorithm for securely generating secret keys.

There are several different cipher suites. Some differ only in the key exchange algorithm.

Required DLLs and Libraries

LTDIC
LTCRY
LTTLS

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_DicomGetAuthenticationAlgorithmTLS, L_DicomGetIntegrityAlgorithmTLS, L_DicomGetEncryptionAlgorithmTLS, L_DicomGetEncryptKeyLengthTLS, L_DicomGetMutualAuthKeyLengthTLS

Topics:

DICOM Net: TLS Protocol

 

Adding TLS Security to a DICOM Connection

 

Negotiating a Ciphersuite

 

General Transport Layer Secure (TLS) Information

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName


L_INT DicomGetKeyExchangeAlgorithmTLSExample(L_VOID)
{
   HDICOMNET hDicomNet = NULL;
   L_INT nRet;

   hDicomNet = L_DicomCreateNetExt(MAKE_IMAGE_PATH(TEXT("")), DICOM_SECURE_TLS, NULL);

   nRet = L_DicomGetKeyExchangeAlgorithmTLS(hDicomNet, TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA);
   if(nRet == L_MAC_SHA1)
      MessageBox(NULL, TEXT("Key exchange in TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA with L_KEYEXCHANGE_DHE"), TEXT(""), MB_OK);
   return DICOM_SUCCESS;
}