From c5e8c35e8dfd2738c0905483744e73e21feebe6f Mon Sep 17 00:00:00 2001 From: AlinMoldovean Date: Fri, 10 Nov 2017 14:43:51 +0200 Subject: [PATCH 1/2] call FixupAppConfig also in LoadApplicationConfiguration(string filePath, bool silent) --- .../SDK/Opc.Ua.Configuration/ApplicationInstance.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleApplications/SDK/Opc.Ua.Configuration/ApplicationInstance.cs b/SampleApplications/SDK/Opc.Ua.Configuration/ApplicationInstance.cs index e340fa6001..0ae95b402f 100644 --- a/SampleApplications/SDK/Opc.Ua.Configuration/ApplicationInstance.cs +++ b/SampleApplications/SDK/Opc.Ua.Configuration/ApplicationInstance.cs @@ -874,7 +874,7 @@ namespace Opc.Ua.Configuration throw ServiceResultException.Create(StatusCodes.BadConfigurationError, "Could not load configuration file."); } - m_applicationConfiguration = configuration; + m_applicationConfiguration = FixupAppConfig(configuration); return configuration; } From 7a0c536674e8a467ddbdb7d1cf1ab65daa9103f7 Mon Sep 17 00:00:00 2001 From: AlinMoldovean Date: Fri, 10 Nov 2017 17:21:10 +0200 Subject: [PATCH 2/2] Fixes #280 .Fix in logic for AutoAcceptUntrustedCertificates config flag --- .../Opc.Ua.Configuration/ApplicationInstance.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/SampleApplications/SDK/Opc.Ua.Configuration/ApplicationInstance.cs b/SampleApplications/SDK/Opc.Ua.Configuration/ApplicationInstance.cs index 0ae95b402f..9e0ab96e15 100644 --- a/SampleApplications/SDK/Opc.Ua.Configuration/ApplicationInstance.cs +++ b/SampleApplications/SDK/Opc.Ua.Configuration/ApplicationInstance.cs @@ -267,7 +267,7 @@ namespace Opc.Ua.Configuration await LoadApplicationConfiguration(false); } - if (m_applicationConfiguration.SecurityConfiguration != null && m_applicationConfiguration.SecurityConfiguration.AutoAcceptUntrustedCertificates) + if (m_applicationConfiguration.CertificateValidator != null) { m_applicationConfiguration.CertificateValidator.CertificateValidation += CertificateValidator_CertificateValidation; } @@ -328,9 +328,10 @@ namespace Opc.Ua.Configuration try { - if (configuration.SecurityConfiguration != null && configuration.SecurityConfiguration.AutoAcceptUntrustedCertificates) + if (configuration.CertificateValidator != null) { - configuration.CertificateValidator.CertificateValidation += CertificateValidator_CertificateValidation; + ApplicationInstance applicationInstance = new ApplicationInstance(configuration); + configuration.CertificateValidator.CertificateValidation += applicationInstance.CertificateValidator_CertificateValidation; } m_server.Start(configuration); @@ -341,7 +342,6 @@ namespace Opc.Ua.Configuration Utils.Trace((int)Utils.TraceMasks.Error, error.ToLongString()); } } - #endregion #region Private Fields @@ -1007,11 +1007,13 @@ namespace Opc.Ua.Configuration /// /// Handles a certificate validation error. /// - private static void CertificateValidator_CertificateValidation(CertificateValidator validator, CertificateValidationEventArgs e) + private void CertificateValidator_CertificateValidation(CertificateValidator validator, CertificateValidationEventArgs e) { try { - if (e.Error != null && e.Error.Code == StatusCodes.BadCertificateUntrusted) + if (m_applicationConfiguration.SecurityConfiguration != null + && m_applicationConfiguration.SecurityConfiguration.AutoAcceptUntrustedCertificates + && e.Error != null && e.Error.Code == StatusCodes.BadCertificateUntrusted) { e.Accept = true; Utils.Trace((int)Utils.TraceMasks.Security, "Automatically accepted certificate: {0}", e.Certificate.Subject);