Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

App that doesn't connect to server getting certs?

More
04 Aug 2024 12:43 #12988 by support
You specify the path the normal way it is done in Windows. No special syntax is needed in this case. E.g.
EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.InstanceIssuerStorePath = "C:\\Program Files (x86)\\SafeBox\\OPC Foundation\\CertificateStores\\UA Certificate Authorities"
EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.InstanceOwnStorePath = "C:\\Program Files (x86)\\SafeBox\\OPC Foundation\\CertificateStores\\Machine Default"
EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.InstanceTrustedStorePath = "C:\\Program Files (x86)\\SafeBox\\OPC Foundation\\CertificateStores\\UA Applications"
EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.RejectedStorePath = "C:\\Program Files (x86)\\SafeBox\\OPC Foundation\\CertificateStores\\RejectedCertificates"

Please Log in or Create an account to join the conversation.

More
02 Aug 2024 13:45 #12986 by CFrayneIonic
The Syntax for the File Path*

Please Log in or Create an account to join the conversation.

More
02 Aug 2024 13:37 #12985 by CFrayneIonic
Hello,
I tried this
EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.InstanceOwnStorePath = "LocalMachine\\Program Files (x86)\\SafeBox\\OPC Foundation\\CertificateStores"
I'm not sure for the syntax because The User Guide examples don't give the best example of what it should be for vb.net. My Code above doesn't appear to work.
Thank you,
Connor Frayne

Please Log in or Create an account to join the conversation.

More
27 Jul 2024 08:48 #12979 by support
Hello.

What happens here is that the default location of the certificate stores in the current working directory, and not the directory of the running executable. We have "inherited" this behavior because we are using OPC Foundation .NET stack as the bottom layer, and it is, in fact, documented (e.g. opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...ry%20Certificate%20Stores.html , where it says 'When you develop and application with OPC Studio and target .NET 6+, or you are running an OPC Studio application that is based on .NET 6+, the default directory certificate store paths all start with the %LocalFolder% token, which on resolves to the current working directory of the application.").

But I am completely with you that this is not the ideal behavior. We will think of whether / how to change it in a future version.

For now, your options are:

- Change the current working directory for the process being started. This requires using a different overload of the Process.Start method, the one with ProcessStartInfo as an arguments, and learn.microsoft.com/en-us/dotnet/api/system.diagnostics.proc....workingdirectory?view=net-8.0 .

or

- Modify the location of UA certificate stores inside your application to be whenever you like them - and you can base that the on the directory where the executable file is, if you like. See opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Late...or%20certificate%20stores.html (the example is in PHP; in C# you would simply set properties like EasyUAApplication.Instance.ApplicationParameters.ApplicationManifest.InstanceOwnStorePath = ... ).

I hope this helps
Best regards

Please Log in or Create an account to join the conversation.

More
26 Jul 2024 18:11 - 26 Jul 2024 18:23 #12977 by CFrayneIonic
Hello,
I have an Application, SafeBox Sentry, that only launches another App, SafeBox. SafeBox interactes with the OPC server and has it's own certs, SafeBox Sentry doesn't interact with the OPC server , it only launches SafeBox
System.Diagnostics.Process.Start(_pathToSafeBox);
When launched from the SafeBox.exe, SafeBox uses the certs in C:\Program Files (x86)\SafeBox\OPC Foundation\CertificateStores but when launched by SafeBox Sentry, SafeBox generates and tries to use certs from C:\Program Files (x86)\SafeBox Sentry\OPC Foundation\CertificateStores. I'd like a way to keep it looking in a single file for its certs, these are auto generated certs and I'd like to keep it that way, is there a way to specify where the auto generated certs from the application and from the server will be placed? I'd rather not use opc ua cert generator as these apps will be used accross multiple devices. Im on QuickOPC 2024.1
Thank you,
Connor Frayne
Last edit: 26 Jul 2024 18:23 by CFrayneIonic.

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.051 seconds