comparison OrthancServer/Sources/main.cpp @ 5643:b1a18218860c

2 new configurations: DicomTlsMinimumProtocolVersion + DicomTlsCiphersAccepted
author Alain Mazy <am@orthanc.team>
date Fri, 31 May 2024 16:56:35 +0200
parents f7adfb22e20e
children a6f121707dfe
comparison
equal deleted inserted replaced
5642:95e282478cda 5643:b1a18218860c
57 57
58 static const char* const KEY_DICOM_TLS_PRIVATE_KEY = "DicomTlsPrivateKey"; 58 static const char* const KEY_DICOM_TLS_PRIVATE_KEY = "DicomTlsPrivateKey";
59 static const char* const KEY_DICOM_TLS_ENABLED = "DicomTlsEnabled"; 59 static const char* const KEY_DICOM_TLS_ENABLED = "DicomTlsEnabled";
60 static const char* const KEY_DICOM_TLS_CERTIFICATE = "DicomTlsCertificate"; 60 static const char* const KEY_DICOM_TLS_CERTIFICATE = "DicomTlsCertificate";
61 static const char* const KEY_DICOM_TLS_TRUSTED_CERTIFICATES = "DicomTlsTrustedCertificates"; 61 static const char* const KEY_DICOM_TLS_TRUSTED_CERTIFICATES = "DicomTlsTrustedCertificates";
62 static const char* const KEY_DICOM_TLS_REMOTE_CERTIFICATE_REQUIRED = "DicomTlsRemoteCertificateRequired";
63 static const char* const KEY_DICOM_TLS_MINIMUM_PROTOCOL_VERSION = "DicomTlsMinimumProtocolVersion";
64 static const char* const KEY_DICOM_TLS_ACCEPTED_CIPHERS = "DicomTlsCiphersAccepted";
62 static const char* const KEY_MAXIMUM_PDU_LENGTH = "MaximumPduLength"; 65 static const char* const KEY_MAXIMUM_PDU_LENGTH = "MaximumPduLength";
63 static const char* const KEY_DICOM_TLS_REMOTE_CERTIFICATE_REQUIRED = "DicomTlsRemoteCertificateRequired";
64 66
65 67
66 class OrthancStoreRequestHandler : public IStoreRequestHandler 68 class OrthancStoreRequestHandler : public IStoreRequestHandler
67 { 69 {
68 private: 70 private:
1277 dicomServer.SetOwnCertificatePath( 1279 dicomServer.SetOwnCertificatePath(
1278 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_PRIVATE_KEY, ""), 1280 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_PRIVATE_KEY, ""),
1279 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_CERTIFICATE, "")); 1281 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_CERTIFICATE, ""));
1280 dicomServer.SetTrustedCertificatesPath( 1282 dicomServer.SetTrustedCertificatesPath(
1281 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_TRUSTED_CERTIFICATES, "")); 1283 lock.GetConfiguration().GetStringParameter(KEY_DICOM_TLS_TRUSTED_CERTIFICATES, ""));
1284 dicomServer.SetMinimumTlsVersion(
1285 lock.GetConfiguration().GetUnsignedIntegerParameter(KEY_DICOM_TLS_MINIMUM_PROTOCOL_VERSION, 0));
1286
1287 std::set<std::string> acceptedCiphers;
1288 lock.GetConfiguration().GetSetOfStringsParameter(acceptedCiphers, KEY_DICOM_TLS_ACCEPTED_CIPHERS);
1289 dicomServer.SetAcceptedCiphers(acceptedCiphers);
1282 } 1290 }
1283 1291
1284 dicomServer.SetMaximumPduLength(lock.GetConfiguration().GetUnsignedIntegerParameter(KEY_MAXIMUM_PDU_LENGTH, 16384)); 1292 dicomServer.SetMaximumPduLength(lock.GetConfiguration().GetUnsignedIntegerParameter(KEY_MAXIMUM_PDU_LENGTH, 16384));
1285 1293
1286 // New option in Orthanc 1.9.3 1294 // New option in Orthanc 1.9.3