comparison OrthancServer/Sources/main.cpp @ 4656:82a314325351

New configuration option: "DicomTlsRemoteCertificateRequired"
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 06 May 2021 18:39:19 +0200
parents e915102093de
children f0038043fb97 ec8aef42a7db
comparison
equal deleted inserted replaced
4655:9f7eef20bc7d 4656:82a314325351
67 static const char* const KEY_DICOM_TLS_PRIVATE_KEY = "DicomTlsPrivateKey"; 67 static const char* const KEY_DICOM_TLS_PRIVATE_KEY = "DicomTlsPrivateKey";
68 static const char* const KEY_DICOM_TLS_ENABLED = "DicomTlsEnabled"; 68 static const char* const KEY_DICOM_TLS_ENABLED = "DicomTlsEnabled";
69 static const char* const KEY_DICOM_TLS_CERTIFICATE = "DicomTlsCertificate"; 69 static const char* const KEY_DICOM_TLS_CERTIFICATE = "DicomTlsCertificate";
70 static const char* const KEY_DICOM_TLS_TRUSTED_CERTIFICATES = "DicomTlsTrustedCertificates"; 70 static const char* const KEY_DICOM_TLS_TRUSTED_CERTIFICATES = "DicomTlsTrustedCertificates";
71 static const char* const KEY_MAXIMUM_PDU_LENGTH = "MaximumPduLength"; 71 static const char* const KEY_MAXIMUM_PDU_LENGTH = "MaximumPduLength";
72 static const char* const KEY_DICOM_TLS_REMOTE_CERTIFICATE_REQUIRED = "DicomTlsRemoteCertificateRequired";
72 73
73 74
74 class OrthancStoreRequestHandler : public IStoreRequestHandler 75 class OrthancStoreRequestHandler : public IStoreRequestHandler
75 { 76 {
76 private: 77 private:
1207 dicomServer.SetTrustedCertificatesPath( 1208 dicomServer.SetTrustedCertificatesPath(
1208 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_TRUSTED_CERTIFICATES, "")); 1209 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_TRUSTED_CERTIFICATES, ""));
1209 } 1210 }
1210 1211
1211 dicomServer.SetMaximumPduLength(lock.GetConfiguration().GetUnsignedIntegerParameter(KEY_MAXIMUM_PDU_LENGTH, 16384)); 1212 dicomServer.SetMaximumPduLength(lock.GetConfiguration().GetUnsignedIntegerParameter(KEY_MAXIMUM_PDU_LENGTH, 16384));
1213
1214 // New option in Orthanc 1.9.3
1215 dicomServer.SetRemoteCertificateRequired(
1216 lock.GetConfiguration().GetBooleanParameter(KEY_DICOM_TLS_REMOTE_CERTIFICATE_REQUIRED, true));
1212 } 1217 }
1213 1218
1214 #if ORTHANC_ENABLE_PLUGINS == 1 1219 #if ORTHANC_ENABLE_PLUGINS == 1
1215 if (plugins != NULL) 1220 if (plugins != NULL)
1216 { 1221 {
1465 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_CERTIFICATE, "")); 1470 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_CERTIFICATE, ""));
1466 DicomAssociationParameters::SetDefaultTrustedCertificatesPath( 1471 DicomAssociationParameters::SetDefaultTrustedCertificatesPath(
1467 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_TRUSTED_CERTIFICATES, "")); 1472 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_TRUSTED_CERTIFICATES, ""));
1468 DicomAssociationParameters::SetDefaultMaximumPduLength( 1473 DicomAssociationParameters::SetDefaultMaximumPduLength(
1469 lock.GetConfiguration().GetUnsignedIntegerParameter(KEY_MAXIMUM_PDU_LENGTH, 16384)); 1474 lock.GetConfiguration().GetUnsignedIntegerParameter(KEY_MAXIMUM_PDU_LENGTH, 16384));
1475
1476 // New option in Orthanc 1.9.3
1477 DicomAssociationParameters::SetDefaultRemoteCertificateRequired(
1478 lock.GetConfiguration().GetBooleanParameter(KEY_DICOM_TLS_REMOTE_CERTIFICATE_REQUIRED, true));
1470 } 1479 }
1471 1480
1472 ServerContext context(database, storageArea, false /* not running unit tests */, maxCompletedJobs); 1481 ServerContext context(database, storageArea, false /* not running unit tests */, maxCompletedJobs);
1473 1482
1474 { 1483 {