OPC Studio User's Guide and Reference
ObtainNewCertificateOrCertificatePack Method (_EasyUAClientServerApplication)



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.Application.ComTypes Namespace > _EasyUAClientServerApplication Interface : ObtainNewCertificateOrCertificatePack Method
The arguments describing how the certificate should be obtained.

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

Obtains a new certificate or certificate pack from the certificate manager using the arguments object.
Obtains a new certificate or certificate pack from the certificate manager. Returns the collection of certificates obtained from the certificate manager.

The ObtainNewCertificateOrCertificatePack methods 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 actual number of certificates in the application certificate pack may be lower than the count of PackCertificateTypeIds. This is because multiple certificate types may end up using the same certificate. For example, OpcLabs.EasyOpc.UA.Gds.AddressSpace.UACertificateTypeIds.RsaMinApplicationCertificateType specifies an application certificate with RSA key size 1024 or 2048 bits, and OpcLabs.EasyOpc.UA.Gds.AddressSpace.UACertificateTypeIds.RsaSha256ApplicationCertificateType specifies an application certificate with RSA key size 2048, 3072 or 4096 bits. A single certificate with RSA key size of 2048 bits can therefore be used with both these certificate types.

The certificate manager may not support all certificate types in the application certificate pack. For an unsupported certificate type, the value of the certificate in the resulting dictionary is null (Nothing in Visual Basic). Unsupported certificate types do not cause the method to fail (throw an exception).

The operation is synchronous. It can take considerable time to execute, because it involves multiple steps, and waiting for a finalization of the requests by the GDS (see the OpcLabs.EasyOpc.UA.Gds.IEasyUACertificateManagement.FinishRequest method).

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

For a task-based asynchronous programming pattern alternative, see the ObtainNewCertificateOrCertificatePackAsync(IEasyUAClientServerApplication,UAObtainCertificateArguments) extension method and its overloads.

Syntax
'Declaration
 
<JetBrains.Annotations.NotNullAttribute()>
Function ObtainNewCertificateOrCertificatePack( _
   ByVal arguments As Object _
) As _UANodeIdPkiCertificateReadOnlyDictionary
'Usage
 
Dim instance As _EasyUAClientServerApplication
Dim arguments As Object
Dim value As _UANodeIdPkiCertificateReadOnlyDictionary
 
value = instance.ObtainNewCertificateOrCertificatePack(arguments)
[JetBrains.Annotations.NotNull()]
_UANodeIdPkiCertificateReadOnlyDictionary ObtainNewCertificateOrCertificatePack( 
   object arguments
)
[JetBrains.Annotations.NotNull()]
_UANodeIdPkiCertificateReadOnlyDictionary^ ObtainNewCertificateOrCertificatePack( 
   Object^ arguments
) 

Parameters

arguments
The arguments describing how the certificate should be obtained.

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

Return Value

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

The individual elements of the returned value can be null (Nothing in Visual Basic).

Returns the collection of certificates obtained from the certificate manager.
Exceptions
ExceptionDescription
An error has occurred during application execution.

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.

An operation that the thread was execution has been cancelled.

The OPC UA operation has failed. This operation exception in uniformly used to allow common handling of various kinds of errors. The System.Exception.InnerException always contains information about the actual error cause.

This is an operation error that depends on factors external to your program, and thus cannot be always avoided. Your code must handle it appropriately.

Remarks

The ObtainNewCertificateOrCertificatePack methods 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 actual number of certificates in the application certificate pack may be lower than the count of PackCertificateTypeIds. This is because multiple certificate types may end up using the same certificate. For example, OpcLabs.EasyOpc.UA.Gds.AddressSpace.UACertificateTypeIds.RsaMinApplicationCertificateType specifies an application certificate with RSA key size 1024 or 2048 bits, and OpcLabs.EasyOpc.UA.Gds.AddressSpace.UACertificateTypeIds.RsaSha256ApplicationCertificateType specifies an application certificate with RSA key size 2048, 3072 or 4096 bits. A single certificate with RSA key size of 2048 bits can therefore be used with both these certificate types.

The certificate manager may not support all certificate types in the application certificate pack. For an unsupported certificate type, the value of the certificate in the resulting dictionary is null (Nothing in Visual Basic). Unsupported certificate types do not cause the method to fail (throw an exception).

The operation is synchronous. It can take considerable time to execute, because it involves multiple steps, and waiting for a finalization of the requests by the GDS (see the OpcLabs.EasyOpc.UA.Gds.IEasyUACertificateManagement.FinishRequest method).

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

For a task-based asynchronous programming pattern alternative, see the ObtainNewCertificateOrCertificatePackAsync(IEasyUAClientServerApplication,UAObtainCertificateArguments) extension method and its overloads.

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 member or type is for use from COM. It is not meant to be used from .NET or Python. Refer to the corresponding .NET member or type instead, if you are developing in .NET or Python.

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