I just ran through it and I did see an issue with the certificate that the dice_device_enrollment tool returned. It is adding two certs in the cert file instead of 1. I will update this and get it checked in. In the mean time you can use the first certificate that is printed (the first BEGIN_CERTIFICATE till END_CERTIFICATE) which should be riot-device-cert and this should fix your issue.
Failed to register simulated device with X.509 Certificate created using dice_device_enrollment tool
OS and version used: Ubuntu 18.04.1 LTS
SDK version used: 1.2.8
Description of the issue:
I have downloaded and compiled C SDK on Ubuntu system (cmake -Duse_prov_client:BOOL=ON ..). Following approach was implemented to register my sample device using provisioning service.
./[cmake folder]/]provisioning_client/tools/dice_device_enrollment/dice_device_enrollment Generated a certificate (second entry) and created a device.cert file. In Azure portal, I enrolled the device using this device.cert file. The registration ID I see is riot-signer-core when enrolled successfully. In the ../provisioning_client/samples/prov_dev_client_sample/prov_dev_client_sample.c, updated global_prov_uri, id_scope and hsm_type = SECURE_DEVICE_TYPE_X509; Compiled the sample again and executed it to register my device.
Code sample exhibiting the issue: I am using the default code.
Console log of the issue:
Provisioning API Version: 1.2.9
Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING Error: Time:Mon Oct 8 11:52:01 2018 File:/home/jeevan/linuxSDK/azure-iot-sdk-c/provisioning_client/src/prov_device_ll_client.c Func:prov_transport_process_json_reply Line:459 Provisioning Failure: OperationId: 4.87f7851aaaa18ed1.f79a3c23-1120-43df-8202-4c4ad29072b7 - Date: 2018-10-08T06:21:50.0194288Z - Msg: Invalid certificate Error: Time:Mon Oct 8 11:52:01 2018 File:/home/jeevan/linuxSDK/azure-iot-sdk-c/provisioning_client/src/prov_transport_mqtt_common.c Func:prov_transport_common_mqtt_dowork Line:946 Unable to process registration reply. Error: Time:Mon Oct 8 11:52:01 2018 File:/home/jeevan/linuxSDK/azure-iot-sdk-c/provisioning_client/src/prov_device_ll_client.c Func:on_transport_registration_data Line:552 Failure retrieving data from the provisioning service
Failure registering device: PROV_DEVICE_RESULT_DEV_AUTH_ERROR Press enter key to exit:
I have 2 questions here:
Question 1: I am doing this exercise for first time and I am facing the issue. Are my steps correct?
Question 2: In case I want to use a self signed X.509 certificate generated outside code, what is the procedure to use? I am under impression that I can set the certificate in certs.c (char *certificates) and enable. I have tried it, but no success here. I am getting same error as above. Note that I enrolled the device with device my self signed X509 certificate.
- 点赞 评论 复制链接分享
Thanks a lot for help. It worked for me.
Regarding my second question, I did not get the purpose of using the certificate in certs.c file.
I want to use a self signed x.509 certificate which is in .pfx format. From the documentation I read so far, I find that I would need to implement HSM interfaces to accommodate my self signed certificate.
Once you are done with check-in, please do post to me.点赞 评论 复制链接分享
I was able to check in a new version of the dice_device_enrollment tool let me know if you see any more issues with it.
Yes, if you want to use a pfx certificate it will require for you to create a custom HSM and you'll have to edit the x509_schannel.c file to handle the passing of pfx format.
If you have any more question or comments either reopen this issue or create a new one.
Thanks.点赞 评论 复制链接分享
, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey点赞 评论 复制链接分享
- 使用Cron的Google API日历
- 从cron运行时PHP pthreads失败了
- PHP MySQL使用UNION查询并查找数据来自哪个表
- Zerg Rush!!!
- Call Forwarding
- Plugged In
- A New Growth Industry
- 求助，android studio编译问题
- Energy Minimization
- Graph of Black and White
- mvn打包报错：Failed to load ApplicationContext