Как подключить нисходящее IoT-устройство к IoT Hub с помощью X.509 CA с C SDK

Я не могу найти никаких инструкций о том, как подключить IoT-устройство к IoT Hub с помощью сертификата CA X.509 с C SDK. Пример для C # SDK можно найти по адресу https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-security-x509-get-started#register-x509-ca.-certificates-to-your-iot-hub. Самое близкое, что я могу найти для C-SDK, - это API https://docs.microsoft.com/en-us/azure/iot-hub/iot-c-sdk-ref/iothub-device-client-h/iothubdeviceclient-createfromdeviceauth, но не предоставил никаких документов о том, как его использовать.

Пример кода есть в , что, кажется, подразумевает, как это использовать. Но вызов функции IoTHubDeviceClient_CreateFromDeviceAuth () оставлен без комментариев.

Моя цель - иметь возможность подключать нисходящее устройство к IoT Hub с помощью X.509, при этом Edge настроен как прозрачный шлюз. Поскольку предоставление DPS для нисходящего устройства в настоящее время не поддерживается. нисходящее устройство может подключаться к Центру Интернета вещей только с использованием симметричного ключа, самозаверяющего сертификата X.509 или сертификата, подписанного ЦС X5.09. Симметричный ключ или самоподписанный ключ X.509 не подходят, поскольку для этого требуется строка подключения устройства, которую мы не можем предоставить в нашем двоичном файле IoT Device. Подход к сертификату, подписанному CA X.509, кажется, работает, поскольку все наши устройства могут предварительно загрузить сертификат, но я не могу найти ни одного документа, как его заархивировать.


person Shaoshan Fan    schedule 27.03.2020    source источник


Ответы (1)


Со стороны Центра Интернета вещей язык, который использует ваше устройство, не имеет значения. Настройте его так, как он предлагает, а затем обратитесь к этому примеру: 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.

person Mark Radbourne    schedule 31.03.2020