Ошибки и ошибки сегмента при использовании службы инициализации устройства - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь использовать службу инициализации устройства с моего устройства для подключения к концентратору, используя c SDK.Я использую индивидуальную регистрацию и X.509.Я создал отдельную регистрацию в концентраторе, используя сертификат, сгенерированный с помощью инструмента "dice_device_enrollment" в SDK.Я также установил сертификат на устройстве.Когда я запускаю код, я получаю (OpenSSL) ошибки при выполнении функции Prov_Device_LL_DoWork ().Когда я вызываю Prov_Device_LL_DoWork () во второй раз, происходит сбой программы seg.

Вывод:

08:11:25 10-10-2018  [info] Prov_Device_LL_DoWork
Error: Time:Wed Oct 10 08:11:25 2018 File:/home/tijmen/azure-iot-sdk-c/c-utility/adapters/x509_openssl.c Func:log_ERR_get_error Line:29 Failure creating private key evp_key
Error: Time:Wed Oct 10 08:11:25 2018 File:/home/tijmen/azure-iot-sdk-c/c-utility/adapters/x509_openssl.c Func:log_ERR_get_error Line:36   [0] error:0906D06C:PEM routines:PEM_read_bio:no start line
Error: Time:Wed Oct 10 08:11:25 2018 File:/home/tijmen/azure-iot-sdk-c/c-utility/adapters/x509_openssl.c Func:log_ERR_get_error Line:36   [1] error:0906D064:PEM routines:PEM_read_bio:bad base64 decode
Error: Time:Wed Oct 10 08:11:25 2018 File:/home/tijmen/azure-iot-sdk-c/c-utility/adapters/tlsio_openssl.c Func:log_ERR_get_error Line:428 unable to use x509 authentication
Error: Time:Wed Oct 10 08:11:25 2018 File:/home/tijmen/azure-iot-sdk-c/c-utility/adapters/tlsio_openssl.c Func:tlsio_openssl_open Line:1251 Failed creating the OpenSSL instance.
Error: Time:Wed Oct 10 08:11:25 2018 File:/home/tijmen/azure-iot-sdk-c/umqtt/src/mqtt_client.c Func:mqtt_client_connect Line:1000 Error: io_open failed
Error: Time:Wed Oct 10 08:11:25 2018 File:/home/tijmen/azure-iot-sdk-c/provisioning_client/src/prov_transport_mqtt_common.c Func:create_connection Line:567 Failure connecting to mqtt server
Error: Time:Wed Oct 10 08:11:25 2018 File:/home/tijmen/azure-iot-sdk-c/provisioning_client/src/prov_transport_mqtt_common.c Func:prov_transport_common_mqtt_dowork Line:874 unable to create amqp connection
08:11:25 10-10-2018  [info] Prov_Device_LL_DoWork
Segmentation fault

Тот же код работает на моем компьютере разработчика, но с использованием немного другой версии OpenSSL:На компьютере разработчика OpenSSL 1.0.1t 3 мая 2016 г. На устройстве OpenSSL 1.0.2d 9 июля 2015 г.

Существуют ли требования к версии OpenSSL, которую я пропустил?

1 Ответ

0 голосов
/ 15 октября 2018

Оказывается, что обновление OpenSSL решает эту проблему.Я собрал OpenSSL версии 1.0.2q из https://github.com/openssl/openssl/tree/OpenSSL_1_0_2-stable и связал его с моим приложением.Это решило ошибку.Похоже, SDK, по крайней мере, для функциональности X.509 требуется более высокая версия OpenSSL, чем 1.0.2d 9 июля 2015 года.

...