comparison OrthancServer/Sources/main.cpp @ 4439:5209a9ff6e38

configuration options for DICOM TLS in Orthanc SCP
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 07 Jan 2021 18:18:39 +0100
parents 4a4e33c9082d
children f77ee6e6cf47
comparison
equal deleted inserted replaced
4438:4a4e33c9082d 4439:5209a9ff6e38
60 60
61 #include <boost/algorithm/string/predicate.hpp> 61 #include <boost/algorithm/string/predicate.hpp>
62 62
63 63
64 using namespace Orthanc; 64 using namespace Orthanc;
65
66
67 static const char* const KEY_DICOM_TLS_PRIVATE_KEY = "DicomTlsPrivateKey";
68 static const char* const KEY_DICOM_TLS_ENABLED = "DicomTlsEnabled";
69 static const char* const KEY_DICOM_TLS_CERTIFICATE = "DicomTlsCertificate";
70 static const char* const KEY_DICOM_TLS_TRUSTED_CERTIFICATES = "DicomTlsTrustedCertificates";
65 71
66 72
67 class OrthancStoreRequestHandler : public IStoreRequestHandler 73 class OrthancStoreRequestHandler : public IStoreRequestHandler
68 { 74 {
69 private: 75 private:
1187 OrthancConfiguration::ReaderLock lock; 1193 OrthancConfiguration::ReaderLock lock;
1188 dicomServer.SetCalledApplicationEntityTitleCheck(lock.GetConfiguration().GetBooleanParameter("DicomCheckCalledAet", false)); 1194 dicomServer.SetCalledApplicationEntityTitleCheck(lock.GetConfiguration().GetBooleanParameter("DicomCheckCalledAet", false));
1189 dicomServer.SetAssociationTimeout(lock.GetConfiguration().GetUnsignedIntegerParameter("DicomScpTimeout", 30)); 1195 dicomServer.SetAssociationTimeout(lock.GetConfiguration().GetUnsignedIntegerParameter("DicomScpTimeout", 30));
1190 dicomServer.SetPortNumber(lock.GetConfiguration().GetUnsignedIntegerParameter("DicomPort", 4242)); 1196 dicomServer.SetPortNumber(lock.GetConfiguration().GetUnsignedIntegerParameter("DicomPort", 4242));
1191 dicomServer.SetApplicationEntityTitle(lock.GetConfiguration().GetOrthancAET()); 1197 dicomServer.SetApplicationEntityTitle(lock.GetConfiguration().GetOrthancAET());
1198
1199 // Configuration of DICOM TLS for Orthanc SCP (since Orthanc 1.9.0)
1200 dicomServer.SetDicomTlsEnabled(lock.GetConfiguration().GetBooleanParameter(KEY_DICOM_TLS_ENABLED, false));
1201 if (dicomServer.IsDicomTlsEnabled())
1202 {
1203 dicomServer.SetOwnCertificatePath(
1204 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_PRIVATE_KEY, ""),
1205 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_CERTIFICATE, ""));
1206 dicomServer.SetTrustedCertificatesPath(
1207 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_TRUSTED_CERTIFICATES, ""));
1208 }
1192 } 1209 }
1193 1210
1194 #if ORTHANC_ENABLE_PLUGINS == 1 1211 #if ORTHANC_ENABLE_PLUGINS == 1
1195 if (plugins != NULL) 1212 if (plugins != NULL)
1196 { 1213 {
1436 if (maxCompletedJobs == 0) 1453 if (maxCompletedJobs == 0)
1437 { 1454 {
1438 LOG(WARNING) << "Setting option \"JobsHistorySize\" to zero is not recommended"; 1455 LOG(WARNING) << "Setting option \"JobsHistorySize\" to zero is not recommended";
1439 } 1456 }
1440 1457
1441 // Configuration of DICOM TLS (since Orthanc 1.9.0) 1458 // Configuration of DICOM TLS for Orthanc SCU (since Orthanc 1.9.0)
1442 DicomAssociationParameters::SetDefaultOwnCertificatePath( 1459 DicomAssociationParameters::SetDefaultOwnCertificatePath(
1443 lock.GetConfiguration().GetStringParameter("DicomTlsPrivateKey", ""), 1460 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_PRIVATE_KEY, ""),
1444 lock.GetConfiguration().GetStringParameter("DicomTlsCertificate", "")); 1461 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_CERTIFICATE, ""));
1445 DicomAssociationParameters::SetDefaultTrustedCertificatesPath( 1462 DicomAssociationParameters::SetDefaultTrustedCertificatesPath(
1446 lock.GetConfiguration().GetStringParameter("DicomTlsTrustedCertificates", "")); 1463 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_TRUSTED_CERTIFICATES, ""));
1447 } 1464 }
1448 1465
1449 ServerContext context(database, storageArea, false /* not running unit tests */, maxCompletedJobs); 1466 ServerContext context(database, storageArea, false /* not running unit tests */, maxCompletedJobs);
1450 1467
1451 { 1468 {