2
votes

My requirement is to develop a mobile app which itself register the mobile device in an IoT hub using provisioning services.

I am developing a mobile application using react native and Azure IoT Java SDK. It is to send telemetry data to Azure IoT hub. However I don't want to hard code the IoT connection details of each and every mobile devices.

There I met the IoT provision services which can be used to register the devices programmatically. My plan was to register device upon the installation or at the first boot up of the app. But the online help sources mentions that all the security attestation should be done by the manufacturer.

It seems I should store an x.509 intermediate certificate in the app and generate a leaf certificate to register the device. I feel this is a bad idea. What is the proper method to handle my situation?

1
Did you get this working? I'm into a similar situation and need your help. Main question is, how did you register the android device (mobile phone) with Azure IoT Hub at run time using Azure Functions or anything else. I'm fine with symmetric key or cert approach (anything will work for me). For now, provisioning devices are important at run time. Any insight will help.Amnesh Goel

1 Answers

2
votes

You can consider using symmetric key to provision via the Device Provisioning Service. Here are some links for your reference:

You can also use X.509 certificate. If you have the leaf certificate on the device, you can register the signing cert with the Device Provisioning Service and use enrollment group.