#include "ltdic.h"
L_LTDIC_API L_UINT32 L_DicomSetClientCertificateTLS(hNet, pszPathToCertificateFile, nCertType, pszPathToKeyFile)
Sets a certificate for the client.
Handle to an existing DICOM Network. This is the handle returned from the L_DicomCreateNet function.
Character string that contains the path to the file that contains the certificate.
Flag that indicates whether the certificate is binary or text. Possible values are:
| Value | Meaning |
|---|---|
| L_TLS_FILETYPE_PEM | Text certificate. |
| L_TLS_FILETYPE_ASN1 | Binary certificate. |
Character string that contains the path to the file containing the private key. This parameter is used if the private key is available in raw mode.
| Value | Meaning |
|---|---|
| DICOM_SUCCESS | The function was successful. |
| <>DICOM_SUCCESS | An error occurred. Refer to the Return Codes. |
Usual size for RSA key is 512 and 1024 bits. There are no known export restrictions.
The nCertType can take values L_TLS_FILETYPE_PEM (text certificate) or L_TLS_FILETYPE_ASN1 (binary certificate).
Required DLLs and Libraries
Win32, x64.
L_INT EXT_CALLBACK exPrivateKeyPasswordServer(HDICOMNET hNet,L_TCHAR *pszPassword,L_INT nSize,L_INT rwFlag,L_VOID *pUserData){UNREFERENCED_PARAMETER(pUserData);UNREFERENCED_PARAMETER(rwFlag);UNREFERENCED_PARAMETER(nSize);UNREFERENCED_PARAMETER(hNet);LPCTSTR pszMyPassword= TEXT("test");// copy the private key password into the pszPassword buffer, and return the lengthlstrcpy(pszPassword, pszMyPassword);return lstrlen(pszMyPassword);}L_INT DicomSetClientCertificateTLSExample(L_VOID){/* start the network */L_INT nRet = L_DicomStartUp();if (nRet != DICOM_SUCCESS)return nRet;/* set the temporary file path */HDICOMNET hNet = L_DicomCreateNet(MAKE_IMAGE_PATH(TEXT("")), DICOM_SECURE_TLS);// Set up so the private key password callback gets calledDICOMNETCALLBACKEXT CallbackExt;memset(&CallbackExt, 0, sizeof(DICOMNETCALLBACKEXT));CallbackExt.uStructSize = sizeof(DICOMNETCALLBACKEXT);CallbackExt.pfnPrivateKeyPassword = exPrivateKeyPasswordServer;CallbackExt.pUserDataPrivateKeyPassword = NULL;L_DicomSetCallbackExt(hNet, &CallbackExt);nRet = L_DicomSetClientCertificateTLS(hNet,MAKE_IMAGE_PATH(TEXT("Client.pem")), L_TLS_FILETYPE_PEM, NULL);if (nRet != DICOM_SUCCESS)return nRet;L_TCHAR strMsg[64] = {0};wsprintf(strMsg, TEXT("Loaded client certificate, result is %s"), nRet?TEXT("Error"):TEXT("Success"));MessageBox(NULL, strMsg, TEXT(""), MB_OK);/*do some network communication here*//* ... *//* Free the object */L_DicomFreeNet(hNet);/* shut down the network */L_DicomShutDown();return DICOM_SUCCESS;}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
