public async Task LoadClientConfiguration(int port = -1) { ApplicationInstance.MessageDlg = new ApplicationMessageDlg(); ApplicationInstance application = new ApplicationInstance { ApplicationName = "Server Configuration Push Test Client", ApplicationType = ApplicationType.Client, ConfigSectionName = "Opc.Ua.ServerConfigurationPushTestClient" }; // load the application configuration. Config = await application.LoadApplicationConfiguration(false).ConfigureAwait(false); // check the application certificate. bool haveAppCertificate = await application.CheckApplicationInstanceCertificate(true, 0).ConfigureAwait(false); if (!haveAppCertificate) { throw new Exception("Application instance certificate invalid!"); } Config.CertificateValidator.CertificateValidation += new CertificateValidationEventHandler(CertificateValidator_CertificateValidation); ServerConfigurationPushTestClientConfiguration clientConfiguration = application.ApplicationConfiguration.ParseExtension <ServerConfigurationPushTestClientConfiguration>(); _client = new ServerPushConfigurationClient(application) { EndpointUrl = TestUtils.PatchOnlyGDSEndpointUrlPort(clientConfiguration.ServerUrl, port) }; if (String.IsNullOrEmpty(clientConfiguration.AppUserName)) { AppUser = new UserIdentity(new AnonymousIdentityToken()); } else { AppUser = new UserIdentity(clientConfiguration.AppUserName, clientConfiguration.AppPassword); } SysAdminUser = new UserIdentity(clientConfiguration.SysAdminUserName, clientConfiguration.SysAdminPassword); TempStorePath = clientConfiguration.TempStorePath; }
public async Task LoadClientConfiguration(int port = -1) { ApplicationInstance.MessageDlg = new ApplicationMessageDlg(); ApplicationInstance application = new ApplicationInstance { ApplicationName = "Server Configuration Push Test Client", ApplicationType = ApplicationType.Client, ConfigSectionName = "Opc.Ua.ServerConfigurationPushTestClient" }; #if USE_FILE_CONFIG // load the application configuration. Config = await application.LoadApplicationConfiguration(false).ConfigureAwait(false); #else string root = Path.Combine("%LocalApplicationData%", "OPC"); string pkiRoot = Path.Combine(root, "pki"); var clientConfig = new ServerConfigurationPushTestClientConfiguration() { ServerUrl = "opc.tcp://localhost:58810/GlobalDiscoveryTestServer", AppUserName = "", AppPassword = "", SysAdminUserName = "******", SysAdminPassword = "******", TempStorePath = Path.Combine(pkiRoot, "temp") }; var transportQuotas = new TransportQuotas() { OperationTimeout = 120000, MaxStringLength = 1048576, MaxByteStringLength = 1048576, MaxArrayLength = 65535, MaxMessageSize = 4194304, MaxBufferSize = 65535, ChannelLifetime = 300000, SecurityTokenLifetime = 3600000, }; // build the application configuration. Config = await application .Build( "urn:localhost:opcfoundation.org:ServerConfigurationPushTestClient", "http://opcfoundation.org/UA/ServerConfigurationPushTestClient") .SetTransportQuotas(transportQuotas) .AsClient() .AddSecurityConfiguration( "CN=Server Configuration Push Test Client, O=OPC Foundation", pkiRoot) .SetAutoAcceptUntrustedCertificates(true) .SetRejectSHA1SignedCertificates(false) .SetRejectUnknownRevocationStatus(true) .SetMinimumCertificateKeySize(1024) .AddExtension <ServerConfigurationPushTestClientConfiguration>(null, clientConfig) .SetOutputFilePath(pkiRoot + "/Logs/Opc.Ua.Gds.Tests.log.txt") .SetTraceMasks(Utils.TraceMasks.Error) .Create().ConfigureAwait(false); #endif // check the application certificate. bool haveAppCertificate = await application.CheckApplicationInstanceCertificate(true, 0).ConfigureAwait(false); if (!haveAppCertificate) { throw new Exception("Application instance certificate invalid!"); } Config.CertificateValidator.CertificateValidation += new CertificateValidationEventHandler(CertificateValidator_CertificateValidation); ServerConfigurationPushTestClientConfiguration clientConfiguration = application.ApplicationConfiguration.ParseExtension <ServerConfigurationPushTestClientConfiguration>(); _client = new ServerPushConfigurationClient(application) { EndpointUrl = TestUtils.PatchOnlyGDSEndpointUrlPort(clientConfiguration.ServerUrl, port) }; if (String.IsNullOrEmpty(clientConfiguration.AppUserName)) { AppUser = new UserIdentity(new AnonymousIdentityToken()); } else { AppUser = new UserIdentity(clientConfiguration.AppUserName, clientConfiguration.AppPassword); } SysAdminUser = new UserIdentity(clientConfiguration.SysAdminUserName, clientConfiguration.SysAdminPassword); TempStorePath = clientConfiguration.TempStorePath; }