Как подключить нисходящее устройство IoT к концентратору IoT с помощью X.509 CA с C SDK - PullRequest
0 голосов
/ 27 марта 2020

Я не могу найти никаких инструкций по подключению устройства IoT к концентратору IoT с помощью сертификата X.509 CA с C SDK. Существует образец для C# SDK в https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-security-x509-get-started#register -x509-ca-сертификаты для вашего iot-hub . Наиболее близким, что я могу получить для 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 () был закомментирован.

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

1 Ответ

0 голосов
/ 01 апреля 2020

Со стороны центра 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.

...