// Shows how to check if an application needs to update its certificate.
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
using System;
using OpcLabs.EasyOpc.UA;
using OpcLabs.EasyOpc.UA.AddressSpace;
using OpcLabs.EasyOpc.UA.Application;
using OpcLabs.EasyOpc.UA.Extensions;
using OpcLabs.EasyOpc.UA.Gds;
using OpcLabs.EasyOpc.UA.OperationModel;
namespace UADocExamples.Gds._EasyUACertificateManagementClient
{
class GetCertificateStatus
{
public static void Main1()
{
// Define which GDS we will work with.
UAEndpointDescriptor gdsEndpointDescriptor =
((UAEndpointDescriptor)"opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer")
.WithUserNameIdentity("appadmin", "demo");
// Register our client application with the GDS, so that we obtain an application ID that we need later.
// Obtain the application interface.
EasyUAApplication application = EasyUAApplication.Instance;
UANodeId applicationId;
try
{
applicationId = application.RegisterToGds(gdsEndpointDescriptor);
}
catch (UAException uaException)
{
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message);
return;
}
Console.WriteLine("Application ID: {0}", applicationId);
// Instantiate the certificate management client object
var certificateManagementClient = new EasyUACertificateManagementClient();
// Check if the application needs to update its certificate.
bool updateRequired;
try
{
updateRequired = certificateManagementClient.GetCertificateStatus(gdsEndpointDescriptor, applicationId,
UANodeId.Null, UANodeId.Null);
}
catch (UAException uaException)
{
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message);
return;
}
// Display results
Console.WriteLine("Update required: {0}", updateRequired);
}
// Example output:
//Application ID: nsu=http://opcfoundation.org/UA/GDS/applications/ ;ns=2;g=aec94459-f513-4979-8619-8383555fca61
//Update required: False
}
}
# Shows how to check if an application needs to update its certificate.
#
# Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
# OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python .
# The QuickOPC package is needed. Install it using "pip install opclabs_quickopc".
import opclabs_quickopc
# Import .NET namespaces.
from OpcLabs.EasyOpc.UA import *
from OpcLabs.EasyOpc.UA.AddressSpace import *
from OpcLabs.EasyOpc.UA.Application import *
from OpcLabs.EasyOpc.UA.Extensions import *
from OpcLabs.EasyOpc.UA.Gds import *
from OpcLabs.EasyOpc.UA.OperationModel import *
# Define which GDS we will work with.
gdsEndpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer')
gdsEndpointDescriptor = UAEndpointDescriptorExtension.WithUserNameIdentity(gdsEndpointDescriptor,
'appadmin', 'demo')
# Register our client application with the GDS, so that we obtain an application ID that we need later.
# Obtain the application interface.
application = EasyUAApplication.Instance
try:
print('Registering to GDS...')
applicationId = application.RegisterToGds(gdsEndpointDescriptor)
except UAException as uaException:
print('*** Failure: ' + uaException.GetBaseException().Message)
exit()
print('Application ID: ', applicationId, sep='')
# Instantiate the certificate management client object.
certificateManagementClient = EasyUACertificateManagementClient()
# Check if the application needs to update its certificate.
try:
updateRequired = certificateManagementClient.GetCertificateStatus(gdsEndpointDescriptor,
applicationId,
UANodeId.Null, # certificateGroupId
UANodeId.Null) # certificateTypeId
except UAException as uaException:
print('*** Failure: ' + uaException.GetBaseException().Message)
exit()
# Display results.
print('Update required: ', updateRequired, sep='')
print()
print('Finished.')
' Shows how to check if an application needs to update its certificate.
'
' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
Imports Microsoft.Extensions.DependencyInjection
Imports OpcLabs.EasyOpc.UA
Imports OpcLabs.EasyOpc.UA.AddressSpace
Imports OpcLabs.EasyOpc.UA.Application
Imports OpcLabs.EasyOpc.UA.Application.ComTypes
Imports OpcLabs.EasyOpc.UA.Extensions
Imports OpcLabs.EasyOpc.UA.Gds
Imports OpcLabs.EasyOpc.UA.OperationModel
Namespace Gds._EasyUACertificateManagementClient
Friend Class GetCertificateStatus
Public Shared Sub Main1()
' Define which GDS we will work with.
Dim gdsEndpointDescriptor As UAEndpointDescriptor =
New UAEndpointDescriptor("opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer") _
.WithUserNameIdentity("appadmin", "demo")
' Register our client application with the GDS, so that we obtain an application ID that we need later.
' Obtain the application interface.
Dim application = EasyUAApplication.Instance
' Create an application registration in the GDS, assigning it a new application ID.
Dim applicationId As UANodeId
Try
applicationId = application.RegisterToGds(gdsEndpointDescriptor)
Catch uaException As UAException
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message)
Exit Sub
End Try
' Instantiate the certificate management client object
Dim certificateManagementClient = New EasyUACertificateManagementClient()
' Check if the application needs to update its certificate.
Dim updateRequired As Boolean
Try
updateRequired = certificateManagementClient.GetCertificateStatus(gdsEndpointDescriptor, applicationId,
UANodeId.Null, UANodeId.Null)
Catch uaException As UAException
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message)
Exit Sub
End Try
' Display results
Console.WriteLine("Update required: {0}", updateRequired)
End Sub
End Class
End Namespace