azure-iot-hub - 如何使用带有 C SDK 的 X.509 CA 将下游 IoT 设备连接到 IoT 中心
问题描述
我找不到有关如何使用带有 C SDK 的 X.509 CA 证书将 IoT 设备连接到 IoT 中心的任何说明。在https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-security-x509-get-started#register-x509-ca-certificates-to-有一个 C# SDK 示例你的 iot 集线器。我能得到的最接近 C-SDK 的是这个 API https://docs.microsoft.com/en-us/azure/iot-hub/iot-c-sdk-ref/iothub-device-client-h/iothubdeviceclient- createfromdeviceauth,但它没有提供任何关于如何使用它的文档。
https://github.com/Azure/azure-iot-sdk-c/tree/a698fa3fe9379b7a51a466e0a6b1fe5042db29c5/provisioning_client/samples/iothub_client_sample_hsm中有一个示例代码,这似乎暗示了如何使用它。但是对 IoTHubDeviceClient_CreateFromDeviceAuth() 的函数调用已被注释掉。
我的目标是能够使用 X.509 将下游设备连接到 IoT 中心,并将 Edge 配置为透明网关。由于当前不支持向下游设备提供 DPS。下游设备只能使用对称密钥、X.509 自签名或 X5.09 CA 签名证书连接到 IoT 中心。对称密钥或 X.509 自签名不是一个选项,因为它需要每个设备连接字符串,我们无法在我们的 IoT 设备二进制文件中提供。X.509 CA 签名证书方法似乎可行,因为我们所有的设备都可以预加载证书,但我找不到任何文档如何存档。
解决方案
在 IoT 中心方面,您的设备使用的语言是无关紧要的。按照建议进行设置,然后参考此示例:https ://github.com/Azure/azure-iot-sdk-c/blob/master/iothub_client/samples/iothub_ll_client_x509_sample/iothub_ll_client_x509_sample.c对于 X.509 C客户。
推荐阅读
- python - 将值分组到相等范围的 bin
- pycharm - PyCharm 文件夹标有红色“m”图标和“(
)“ - 这是什么意思? - javascript - Javascript异步函数不返回
- terraform - 如何根据工作空间名称设置 Influxdb 数据库?
- django - 遍历 Django 模板中的 dict 键
- reactjs - 反应路由器显示组件时不应该
- c# - VssConnection SP324098:您的浏览器无法完成操作
- sql - 根据同一行的两个日期聚合小计列
- powershell - 使用 Robocopy 更新功能将子目录中的所有文件复制到单个文件夹
- spring-boot - 使用 spring-boot-starter-data-redis-reactive 启用 Master/Replica 操作