If you do not have a unique device id and secret that you can provision during manufacturing, Cirrent supports dynamic provisioning of devices, where you can use a provisioning key that is shared across many devices. Cirrent's service uses this provisioning key and the device id to generate a temporary shared secret unique to the device, and uses that to log into ZipKey hotspots and the Cirrent cloud. On the first connection, the device is then issued a more permanent device id and shared secret.
Here is how you configure the CA to use the temporary credentials:
- Make sure you have a Provisioning Key (learn more here)
- Download the credential generator source code from https://github.com/Cirrent/cirrent-credential-generator(To get access to this repo, contact us with your github handle)
- Edit main.c to add your provisioning key and secret, and set your device type id and account id. You can get your device type from the Management Center and your account id here.
- Cross compile the credential generator executable for your device.
- Run the credential generator executable on the device, passing in the path to the temporary credential file.
sudo ./cirrent_credential_generator -c /etc/cirrent/keys/temporary.key
- Set the Temporary Credentials flag in the wcm_agent.conf file. Details located here.
./cirrent_credential_generator -c /sdcard/Cirrent/keys/temporary.key
When the CA starts, it will read the temporary credential file and use the temporary credentials to log in to ZipKey network. As soon as the CA can reach the cloud, the CA will get new permanent credentials for the device. You can check that this happened correctly by looking at the Management Center where you should see a new device id, using the MAC address for your device.