OPC Studio User's Guide and Reference
InstanceIssuerStorePath Property (UAApplicationManifest)
Example 



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.Administration Namespace > UAApplicationManifest Class : InstanceIssuerStorePath Property
The store containing trusted certification authorities for instance certificates.
Syntax
'Declaration
 
<DataMemberAttribute()>
<DefaultValueAttribute("")>
Public Property InstanceIssuerStorePath As String
'Usage
 
Dim instance As UAApplicationManifest
Dim value As String
 
instance.InstanceIssuerStorePath = value
 
value = instance.InstanceIssuerStorePath
[DataMember()]
[DefaultValue("")]
public string InstanceIssuerStorePath {get; set;}
[DataMember()]
[DefaultValue("")]
public:
property String^ InstanceIssuerStorePath {
   String^ get();
   void set (    String^ value);
}

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.
Remarks

The store containing any trusted issuer certificates for application instances.

Typical web browsing applications trust any certificate issued by a CA in the "Trusted Root Certification Authorities" certificate store. However, this approach is not appropriate for UA because Administrators have no control over the CAs that get placed in that Root store to facilitate web browsing. This means Administrators must specify a different store that is used only for UA related CAs and/or they must explicitly specify the certificate for each trusted certification authority.

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

When this object is used to override properties of another application manifest, an empty value in this property keeps the original value. A non-empty value in this property overrides the original value. Use "#" to set the value back to an empty string.

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.

Example

COM

// 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 .


// 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.
$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