9.2.3 ProvideIdentities

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:ManagerDescription	softwareUpdateManager
);
   
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.

selectedIdentityThe DER encoded DeviceIdentity Certificate that the DCA needs to use to complete the registration process.
matchingTicketThe 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_CertificateInvalidNone of the identity Certificates can be verified.
Bad_TicketRequiredThe Device has to provide a Ticket before it can be accepted.
Bad_NotFoundNo valid Ticket was found.

Table 18 specifies the AddressSpace representation for the ProvideIdentities Method.

Table 18 – ProvideIdentities Method AddressSpace Definition
Attribute Value
BrowseName2:ProvideIdentities
References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasPropertyVariable0:InputArguments0:Argument [] 0:PropertyTypeMandatory
HasPropertyVariable0:OutputArguments0:Argument [] 0:PropertyTypeMandatory