Obtains a new certificate pack from the certificate manager. Returns the collection of certificates obtained from the certificate manager.
The ObtainNewCertificatePack methods obtain a new application own 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.
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 BeginObtainNewCertificatePack(IEasyUAClientServerApplication,UAEndpointDescriptor) method and related extension methods.
For a task-based asynchronous programming pattern alternative, see the ObtainNewCertificatePackAsync(IEasyUAClientServerApplication,UAEndpointDescriptor) extension method and its overloads.
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