Mercurial > hg > orthanc
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 { |