Could not add self-signed certificate to certficate store.
using System; using System.Collections; using System.Security.Cryptography.X509Certificates; using System.Linq; using Opc.Ua;
public static ApplicationConfiguration CreateClientConfiguration() { ApplicationConfiguration configuration = new ApplicationConfiguration(); configuration.ApplicationName = "UA AC Test Client"; configuration.ApplicationType = ApplicationType.Client; configuration.ApplicationUri = "http://localhost/VendorId/ApplicationId/InstanceId"; configuration.ProductUri = "http://VendorId/ProductId/VersionId"; configuration.SecurityConfiguration = new SecurityConfiguration(); configuration.SecurityConfiguration.ApplicationCertificate = new CertificateIdentifier(); configuration.SecurityConfiguration.ApplicationCertificate.StoreType = CertificateStoreType.Windows; configuration.SecurityConfiguration.ApplicationCertificate.StorePath = "LocalMachine\\My"; configuration.SecurityConfiguration.ApplicationCertificate.SubjectName = configuration.ApplicationName; configuration.SecurityConfiguration.TrustedPeerCertificates.StoreType = CertificateStoreType.Windows; configuration.SecurityConfiguration.TrustedPeerCertificates.StorePath = "LocalMachine\\My"; X509Certificate2 clientCertificate = configuration.SecurityConfiguration.ApplicationCertificate.Find(true); try { // create a new certificate if one not found. if (clientCertificate == null) { clientCertificate = CertificateFactory.CreateCertificate( configuration.SecurityConfiguration.ApplicationCertificate.StoreType, configuration.SecurityConfiguration.ApplicationCertificate.StorePath, configuration.ApplicationUri, configuration.ApplicationName, null, null, 1024, 120); } } catch (Exception e) { } configuration.TransportConfigurations.Add(new TransportConfiguration(Utils.UriSchemeOpcTcp, typeof(Opc.Ua.Bindings.UaTcpBinding))); configuration.TransportConfigurations.Add(new TransportConfiguration(Utils.UriSchemeHttp, typeof(Opc.Ua.Bindings.UaSoapXmlBinding))); configuration.TransportQuotas = new TransportQuotas(); configuration.TransportQuotas.OperationTimeout = 360000; configuration.TransportQuotas.MaxStringLength = 67108864; configuration.ServerConfiguration = new ServerConfiguration(); configuration.ClientConfiguration = new ClientConfiguration(); configuration.ClientConfiguration.DefaultSessionTimeout = 360000; configuration.Validate(ApplicationType.Client); return configuration; }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)