OPC Studio User's Guide and Reference
InstanceTrustedStorePath Property (IUAReadOnlyApplicationManifest)
Example 



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.Administration Namespace > IUAReadOnlyApplicationManifest Interface : InstanceTrustedStorePath Property
The store containing trusted instance certificates.
Syntax
'Declaration
 
<NotNullAttribute()>
ReadOnly Property InstanceTrustedStorePath As String
'Usage
 
Dim instance As IUAReadOnlyApplicationManifest
Dim value As String
 
value = instance.InstanceTrustedStorePath
[NotNull()]
string InstanceTrustedStorePath {get;}
[NotNull()]
property String^ InstanceTrustedStorePath {
   String^ get();
}

Property Value

For directory certificate store, this is a directory name. For system (Windows, Linux, ...) certificate store, this is a "LocalMachine\" or "CurrentUser\" followed by a store name.

The value of this property cannot be null (Nothing in Visual Basic).

Remarks

The list of trusted certificates for application instances.

Some UA applications will use self-signed certificates (certificates without a CA) which means that every application which communicates with it must be configured to trust it.

Administrators may designate a certificate store that contains trusted UA application instance certificates(this store should not be the same as the store used for CAs certificates). Alternately, Administrators may enter the certificates explicitly in this list.

In order to obtain or modify this parameter, access the OpcLabs.EasyOpc.UA.Engine.UAClientServerApplicationParameters.ApplicationManifest property of OpcLabs.EasyOpc.UA.Application.EasyUAApplicationCore.ApplicationParameters property of static EasyUAApplication.Instance.

This method or property does not throw any exceptions, aside from execution exceptions such as System.Threading.ThreadAbortException or System.OutOfMemoryException.

Example
// This example demonstrates how to configure the location of the certificate stores to directories specified by absolute
// paths.
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
// OPC client and subscriber examples in PHP on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-PHP .
// Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
// a commercial license in order to use Online Forums, and we reply to every post.


// Obtain the application interface.
$Application = new COM("OpcLabs.EasyOpc.UA.Application.EasyUAApplication");

// Set the application certificate store paths.
// Note that this only works once in each host process.
// If this code is used in a Web application, make sure it is executed at the beginning of every page that can be used to 
// enter your application. You will most likely make it into a subroutine then.
$Application->ApplicationParameters->ApplicationManifest->InstanceIssuerStorePath =
    "C:\\MyCertificateStores\\UA Certificate Authorities";
$Application->ApplicationParameters->ApplicationManifest->InstanceOwnStorePath =
    "C:\\MyCertificateStores\\Machine Default";
$Application->ApplicationParameters->ApplicationManifest->InstanceTrustedStorePath =
    "C:\\MyCertificateStores\\UA Applications";
$Application->ApplicationParameters->ApplicationManifest->RejectedStorePath =
    "C:\\MyCertificateStores\\RejectedCertificates";

// Do something - invoke an OPC read, to trigger creation of the certificate.
// If you are doing server development: Instantiate and start the server here, instead of invoking the client.
$Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient");
try
{
    $value = $Client->ReadValue(
        //"http://opcua.demo-this.com:51211/UA/SampleServer", 
        "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer", 
        "nsu=http://test.org/UA/Data/ ;i=10853");
}
catch (com_exception $e)
{
    printf("*** Failure: %s\n", $e->getMessage());
}

printf("Finished.\n");
Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also