Provisioning

This example shows a device with no network connectivity performing the following:

  • generating its keys and provision-request (a CSR with additional metadata)

In this example, the provisioning configuration for this device has already been placed in the provisioning file data structure ProvisionFiles which tells the device how to generate the appropriate keys to secure its data-channels.

Example

bool
offline_provisioning(
    const std::string& in_component_handle,
    const std::string& in_hardware_identifier,
    const std::string& in_system,
    utilities::ProvisionFiles* io_provision_files,
    Guardian* io_guardian)
{
    auto status =
        io_guardian->GenerateProvisionRequest(*io_provision_files,
                                              in_component_handle.c_str(),
                                              in_system.c_str(),
                                              in_hardware_identifier.c_str());
    if( status )
    {
        printf("error generating provision request [%s]:[%u]\r\n",
                    GuardianStatusEnum::NameOf(EXTRACT_STATUS(status)).c_str(),
                    status);

        return false;
    }

    return true;
}

Last updated

Was this helpful?