The ProvideIdentities Method allows a Device to request that it be authenticated so it can have access to the network. It is called by a Device using PullManagement to provide the Registrar with its DeviceIdentity Certificates. The Registrar follows the process described in 7 to select and validate one of the Certificates.

This Method shall be called from an authenticated SecureChannel.

Signature

ProvideIdentities (

[in]0:ByteString [] identities,

[in]0:ByteString [] issuers,

[in]0:EncodedTicket [] tickets,

[out]0:ByteString selectedIdentity,

[out]2:BaseTicketType matchingTicket,

[out]0:NodeId applicationId,

[out]2:ManagerDescriptionsoftwareUpdateManager

);

Argument

Description

identities

The DER encoded DeviceIdentity Certificates issued to the Device.

The first Certificates shall be the IDevID Certificates.

issuers

The DER encoded Certificates needed to verify the DeviceIdentity Certificates.

Certificates that cannot be verified are ignored.

tickets

The signed Tickets stored on the Device.

This argument may be null. If the Registrar returns a Bad_TicketRequired error this Method needs to called again with any available Tickets.

Tickets that cannot be verified are ignored.

selectedIdentity

The DER encoded DeviceIdentity Certificate that the DCA needs to use to complete the registration process.

matchingTicket

The Ticket describing the Device which the Registrar accepted.

applicationId

The identifier assigned by the CertificateManager to the Device.

This identifier is needed to request Certificates from the CertificateManager.

softwareUpdateManager

The Endpoint for the SoftwareUpdateManager which the caller contacts to complete the onboarding process.

Set to NULL if a software update is not required or not supported.

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_CertificateInvalid

None of the identity Certificates can be verified.

Bad_TicketRequired

The Device has to provide a Ticket before it can be accepted.

Bad_NotFound

No valid Ticket was found.

Table 18 specifies the AddressSpace representation for the ProvideIdentities Method.

Table 18 – ProvideIdentities Method AddressSpace Definition

Attribute

Value

BrowseName

2:ProvideIdentities

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

0:InputArguments

0:Argument []

0:PropertyType

Mandatory

HasProperty

Variable

0:OutputArguments

0:Argument []

0:PropertyType

Mandatory