繁体   English   中英

Azure IoT SDK - 连接不接受问题

[英]Azure IoT SDK - connection not accepted problem

I am using the Azure IoT SDK for C to try and provision a device on my hub on the Azure IoT Portal.

我已按照说明生成签名证书并将其添加到门户,如此处所述https://github.com/Azure/azure-iot-sdk-c/blob/master/tools/CACertificates/CACertificateOverview.md

以及本教程中的https://kevinsaye.wordpress.com/2020/04/14/using-a-real-certificate-with-the-azure-iot-client-c-sdk-and-the-provisioning-服务/

当我使用我的所有更改运行示例代码 prov_dev_client_ll_sample.c 时,我不断收到以下授权错误。 我已经为运行 Debian 的 X86-64 芯片构建并运行了此代码,并且还为 ARM 芯片进行了交叉编译,两者都产生相同的错误。

在 Azure 门户上,我尝试创建一个关联证书的注册组,并尝试创建一个单独的注册,显式添加证书。 没有任何效果。 人们认为我的时钟可能已经过时了。 但是,当我运行date时,它看起来不错。

任何帮助将不胜感激。 我现在花了两天多的时间来解决这个问题。

Running provisioning appplication..
Provisioning API Version : 1.3.8
Iothub API Version: 1.3.8
Device Certificate Name File: Device_identity.txt
Device Certificate PEM File : Device_cert.pem
Device Private Key PEM File : Device_key.pem
Error: Time:Fri Jun 19 12:02:42 2020 File:/home/azure-iot-sdk- 
c/provisioning_client/src/prov_transport_mqtt_common.c Func:mqtt_operation_complete_callback Line:208 
Connection Not Accepted: 0x5: Not Authorized
Error: Time:Fri Jun 19 12:02:42 2020 File:/home/azure-iot-sdk- 
c/provisioning_client/src/prov_transport_mqtt_common.c Func:mqtt_error_callback Line:139 MQTT 
communication error
Error: Time:Fri Jun 19 12:02:42 2020 File:/home/azure-iot-sdk-
c/provisioning_client/src/prov_device_ll_client.c Func:on_transport_registration_data Line:771 
Failure 
retrieving data from the provisioning service
Failure encountered on registration PROV_DEVICE_RESULT_DEV_AUTH_ERROR
registration failed!
Press any enter to continue:

使用 X.509 证书将设备连接到 Azure IoT 集线器有两种不同的场景:

  • 注册设备并将其直接连接到您的 IoT 中心
  • 使用设备预配服务将您的设备分配和注册到 IoT 中心,以便它可以连接。

此示例向您展示如何在使用 DPS 的情况下将设备直接连接到 IoT 中心: https://github.com/Azure/azure-iot-sdk-c/tree/master/iothub_client/samples/iothub_ll_client_x509_sample 该示例假定您使用https://github.com/Azure/azure-iot-sdk-c/blob/master/tools/CACertificates/CACertificateOverview.md中描述的脚本来生成您的密钥和证书。 有关详细信息,请参阅: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-x509ca-overview

此示例(您尝试运行的示例)向您展示了如何使用 DPS 将您的设备注册到 IoT 中心: https://github.com/Azure/azure-iot-sdk-c/tree/master/provisioning_client/样本/prov_dev_client_sample 该示例使用模拟的硬件安全模块 (HSM) 来生成密钥和证书(而不是脚本)。 有关如何运行此示例的详细信息,请参阅https://docs.microsoft.com/azure/iot-dps/quick-create-simulated-device-x509

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM