// Shows how to check if an application needs to update its certificate.
using System;
using Microsoft.Extensions.DependencyInjection;
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.
var client = new EasyUAClient();
IEasyUAClientApplication clientApplication = client.GetService<IEasyUAClientApplication>();
UANodeId applicationId;
try
{
applicationId = clientApplication.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.
class procedure GetCertificateStatus.Main;
var
ApplicationId: _UANodeId;
CertificateManagementClient: OpcLabs_EasyOpcUA_TLB._EasyUACertificateManagementClient;
Client: _EasyUAClient;
ClientApplication: _EasyUAClientApplication;
GdsEndpointDescriptor: _UAEndpointDescriptor;
NullNodeId: _UANodeId;
UpdateRequired: boolean;
begin
// Define which GDS we will work with.
GdsEndpointDescriptor := CoUAEndpointDescriptor.Create;
GdsEndpointDescriptor.UrlString := 'opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer';
GdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.UserName := 'appadmin';
GdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.Password := 'demo';
// Register our client application with the GDS, so that we obtain an application ID that we need later.
Client := CoEasyUAClient.Create;
ClientApplication := IInterface(Client.GetServiceByName('OpcLabs.EasyOpc.UA.Application.IEasyUAClientApplication, OpcLabs.EasyOpcUA')) as _EasyUAClientApplication;
// Create an application registration in the GDS, assigning it a new application ID.
try
ApplicationId := ClientApplication.RegisterToGds(GdsEndpointDescriptor);
except
on E: EOleException do
begin
WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message]));
end;
end;
WriteLn('Application ID: ', ApplicationId.ToString);
// Instantiate the certificate management client object
CertificateManagementClient := CoEasyUACertificateManagementClient.Create;
// Check if the application needs to update its certificate.
NullNodeId := CoUANodeId.Create;
UpdateRequired := false;
try
UpdateRequired := CertificateManagementClient.GetCertificateStatus(GdsEndpointDescriptor, ApplicationId, NullNodeId, NullNodeId);
except
on E: EOleException do
begin
WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message]));
end;
end;
// Display results
WriteLn('Update required: ', UpdateRequired);
// Example output:
//Application ID: nsu=http://opcfoundation.org/UA/GDS/applications/ ;ns=2;g=aec94459-f513-4979-8619-8383555fca61
//Update required: FALSE
end;
' Shows how to check if an application needs to update its certificate.
Imports Microsoft.Extensions.DependencyInjection
Imports OpcLabs.EasyOpc.UA
Imports OpcLabs.EasyOpc.UA.AddressSpace
Imports OpcLabs.EasyOpc.UA.Application
Imports OpcLabs.EasyOpc.UA.Extensions
Imports OpcLabs.EasyOpc.UA.Gds
Imports OpcLabs.EasyOpc.UA.OperationModel
Namespace UADocExamples.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.
Dim client = New EasyUAClient()
Dim clientApplication = client.GetService(Of IEasyUAClientApplication)()
' Create an application registration in the GDS, assigning it a new application ID.
Dim applicationId As UANodeId
Try
applicationId = clientApplication.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
Rem Shows how to check if an application needs to update its certificate.
Option Explicit
' Define which GDS we will work with.
Dim GdsEndpointDescriptor: Set GdsEndpointDescriptor = CreateObject("OpcLabs.EasyOpc.UA.UAEndpointDescriptor")
GdsEndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer"
GdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.UserName = "appadmin"
GdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.Password = "demo"
' Register our client application with the GDS, so that we obtain an application ID that we need later.
Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient")
Dim ClientApplication: Set ClientApplication = _
Client.GetServiceByName("OpcLabs.EasyOpc.UA.Application.IEasyUAClientApplication, OpcLabs.EasyOpcUA")
On Error Resume Next
Dim ApplicationId: Set ApplicationId = ClientApplication.RegisterToGds(GdsEndpointDescriptor)
If Err.Number <> 0 Then
WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description
WScript.Quit
End If
On Error Goto 0
WScript.Echo "Application ID: " & ApplicationId
' Instantiate the certificate management client object
Dim CertificateManagementClient: Set CertificateManagementClient = _
CreateObject("OpcLabs.EasyOpc.UA.Gds.EasyUACertificateManagementClient")
' Check if the application needs to update its certificate.
Dim NullNodeId: Set NullNodeId = CreateObject("OpcLabs.EasyOpc.UA.AddressSpace.UANodeId")
On Error Resume Next
Dim UpdateRequired: UpdateRequired = CertificateManagementClient.GetCertificateStatus( _
GdsEndpointDescriptor, ApplicationId, NullNodeId, NullNodeId)
If Err.Number <> 0 Then
WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description
WScript.Quit
End If
On Error Goto 0
' Display results
WScript.Echo "Update required: " & UpdateRequired
' Example output:
'Application ID: nsu=http://opcfoundation.org/UA/GDS/applications/ ;ns=2;g=aec94459-f513-4979-8619-8383555fca61
'Update required: False