OPC Studio User's Guide and Reference
ObtainNewCertificateOrCertificatePackAsync(IEasyUAClientServerApplication,UAObtainCertificateArguments) Method



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.Application.Extensions Namespace > IEasyUAClientServerApplicationExtension Class > ObtainNewCertificateOrCertificatePackAsync Method : ObtainNewCertificateOrCertificatePackAsync(IEasyUAClientServerApplication,UAObtainCertificateArguments) Method
The OPC UA client/server application object that will perform the operation.

In client applications, this is typically obtained by calling System.IServiceProvider.GetService(System.Type) on the OpcLabs.EasyOpc.UA.IEasyUAClient (EasyUAClient object) with the type of OpcLabs.EasyOpc.UA.Application.IEasyUAClientServerApplication as an argument.

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

The arguments describing how the certificate should be obtained.

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

Asynchronously obtains a new certificate or certificate pack from the certificate manager using the arguments object.
Syntax
'Declaration
 
<ExtensionAttribute()>
<JetBrains.Annotations.NotNullAttribute()>
Public Overloads Shared Function ObtainNewCertificateOrCertificatePackAsync( _
   ByVal application As IEasyUAClientServerApplication, _
   ByVal arguments As UAObtainCertificateArguments _
) As Task(Of UANodeIdPkiCertificateDictionary)
'Usage
 
Dim application As IEasyUAClientServerApplication
Dim arguments As UAObtainCertificateArguments
Dim value As Task(Of UANodeIdPkiCertificateDictionary)
 
value = IEasyUAClientServerApplicationExtension.ObtainNewCertificateOrCertificatePackAsync(application, arguments)
[Extension()]
[JetBrains.Annotations.NotNull()]
public static Task<UANodeIdPkiCertificateDictionary> ObtainNewCertificateOrCertificatePackAsync( 
   IEasyUAClientServerApplication application,
   UAObtainCertificateArguments arguments
)
[Extension()]
[JetBrains.Annotations.NotNull()]
public:
static Task<UANodeIdPkiCertificateDictionary^>^ ObtainNewCertificateOrCertificatePackAsync( 
   IEasyUAClientServerApplication^ application,
   UAObtainCertificateArguments^ arguments
) 

Parameters

application
The OPC UA client/server application object that will perform the operation.

In client applications, this is typically obtained by calling System.IServiceProvider.GetService(System.Type) on the OpcLabs.EasyOpc.UA.IEasyUAClient (EasyUAClient object) with the type of OpcLabs.EasyOpc.UA.Application.IEasyUAClientServerApplication as an argument.

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

arguments
The arguments describing how the certificate should be obtained.

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

Return Value

Returns a task that represents the asynchronous operation. The value of the TResult contains the collection of certificates obtained from the certificate manager.

This method never returns null (Nothing in Visual Basic).

Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

Remarks

The ObtainNewCertificateOrCertificatePackAsync methods asynchronously obtain a new application own certificate or certificate pack from the certificate manager, and store it for subsequent usage.

When certificate pack is used, this method operates on certificates with certificate type Ids given by PackCertificateTypeIds.

If the specified certificate type Id is Null, the default certificate type Id from DefaultCertificateTypeId is used instead.

The operation is asynchronous, because it involves multiple steps, and waiting for a finalization of the request by the GDS (see the OpcLabs.EasyOpc.UA.Gds.IEasyUACertificateManagement.FinishRequest method).

For a synchronous alternative, see the ObtainNewCertificateOrCertificatePack(IEasyUAClientServerApplication,UAObtainCertificateArguments) extension method and its overloads.

For an alternative based on asynchronous programming model (APM, System.IAsyncResult) pattern, see the BeginObtainNewCertificateOrCertificatePack method and related extension methods.

When CertificateTypeId in arguments is null (Nothing in Visual Basic), the operation obtains the whole certificate pack. Otherwise, it obtains the certificate of certificate type specified by the CertificateTypeId in arguments.

This is an extension method (info: C#, VB.NET). In languages that have support for extensions methods (such as C# and VB.NET), you can use the extension method as if it were a regular method on the object that is its first parameter. In other languages (such as with Python.NET), you will call the extension as a static method, and pass it the object on which it acts as its first parameter.

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