// Shows how to obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage,
// with progress reporting.
using System;
using Microsoft.Extensions.DependencyInjection;
using OpcLabs.BaseLib.Security.Cryptography.PkiCertificates;
using OpcLabs.EasyOpc.UA;
using OpcLabs.EasyOpc.UA.Application;
using OpcLabs.EasyOpc.UA.Application.Extensions;
using OpcLabs.EasyOpc.UA.Extensions;
using OpcLabs.EasyOpc.UA.OperationModel;
namespace UADocExamples.Application._IEasyUAClientApplication
{
partial class ObtainNewCertificate
{
public static void Progress()
{
// Define which GDS we will work with.
UAEndpointDescriptor gdsEndpointDescriptor =
((UAEndpointDescriptor)"opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer")
.WithUserNameIdentity("appadmin", "demo");
// Obtain the client application service.
var client = new EasyUAClient();
IEasyUAClientApplication clientApplication = client.GetService<IEasyUAClientApplication>();
// Display which application we are about to work with.
Console.WriteLine("Application URI string: {0}",
clientApplication.GetApplicationElement().ApplicationUriString);
// Obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage.
IPkiCertificate certificate;
try
{
certificate = clientApplication.ObtainNewCertificate(gdsEndpointDescriptor,
new Progress<string>(s => Console.WriteLine("Progress: {0}", s)));
}
catch (UAException uaException)
{
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message);
return;
}
// Display results
Console.WriteLine("Certificate: {0}", certificate);
}
}
}
' Shows how to obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage,
' with progress reporting.
Imports Microsoft.Extensions.DependencyInjection
Imports OpcLabs.BaseLib.Security.Cryptography.PkiCertificates
Imports OpcLabs.EasyOpc.UA
Imports OpcLabs.EasyOpc.UA.Application
Imports OpcLabs.EasyOpc.UA.Application.Extensions
Imports OpcLabs.EasyOpc.UA.Extensions
Imports OpcLabs.EasyOpc.UA.OperationModel
Namespace UADocExamples.Application._IEasyUAClientApplication
Partial Friend Class ObtainNewCertificate
Public Shared Sub Progress()
' Define which GDS we will work with.
Dim gdsEndpointDescriptor As UAEndpointDescriptor =
New UAEndpointDescriptor("opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer") _
.WithUserNameIdentity("appadmin", "demo")
' Obtain the client application service.
Dim client = New EasyUAClient()
Dim clientApplication = client.GetService(Of IEasyUAClientApplication)()
' Display which application we are about to work with.
Console.WriteLine("Application URI string: {0}",
clientApplication.GetApplicationElement().ApplicationUriString)
' Obtain a new application certificate from the certificate manager (GDS), and store it for subsequent usage.
Dim certificate As PkiCertificate
Try
certificate = clientApplication.ObtainNewCertificate(gdsEndpointDescriptor,
New Progress(Of String)(Sub(s) Console.WriteLine("Progress: {0}", s)))
Catch uaException As UAException
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message)
Exit Sub
End Try
' Display results
Console.WriteLine("Certificate: {0}", certificate)
End Sub
End Class
End Namespace