Я использую RaspberryPi с Ubuntu Mate, и я пытаюсь запустить образцы с Iot Hub Client. Я построил библиотеку для Ubuntu doumented here. Я также создал версию Windows для тестирования, и он отлично работал с точным кодом. Я получаю ошибку на Unix, при использовании IoTHubClient.send_event_async является:Клиент IoT Hub на Emb Linux возвращает SSL-канал, когда send_event_async
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609]
IoT Hub for Python SDK Version: 1.0.17
Starting the IoT Hub Python sample...
Protocol MQTT
Connection string=HostName=<hub name>.azure-devices.net;DeviceId=BananaPi_rasp;SharedAccessKey=<access kwy>
Info: IoT Hub SDK for C, version 1.0.17
IoTHubClient sending 2 messages
IoTHubClient.send_event_async accepted message [0] for transmission to IoT Hub.
Error: Time:Tue Jan 10 02:21:25 2017 File:/home/pi/azure-iot-sdks/c/iothub_client/src/iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:951 Connection Not Accepted: 0x5: Not Authorized
Error: Time:Tue Jan 10 02:21:25 2017 File:/home/pi/azure-iot-sdks/c/c-utility/src/tlsio_openssl.c Func:decode_ssl_received_bytes Line:654 SSL channel closed in decode_ssl_received_bytes.
Error: Time:Tue Jan 10 02:21:25 2017 File:/home/pi/azure-iot-sdks/c/c-utility/src/tlsio_openssl.c Func:on_underlying_io_bytes_received Line:709 Error in decode_ssl_received_bytes.
Я попытался это исправить, установив системное время и проверить спецификации сертификатов: Я пытался «пинг» сервер, чтобы увидеть если я могу подключиться к нему с:
OpenSSL s_client -connect .azure-devices.net: 8883
я получаю:
CONNECTED(00000003)
depth=2 C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root
......
Server certificate
-----BEGIN CERTIFICATE-----
MIIGcjCCBFqgAwIBAgITWgABtrN..........<etire certificate>...
......
SSL handshake has read 3677 bytes and written 531 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA384
Server public key is 2048 bit
.....
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-SHA384
Session-ID: B0010000E7F6C6ADDC09A37DC7C618C4F4522528E20C8AD6E08DCB5B302101D2
Session-ID-ctx:
Start Time: 1483986649
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
read:errno=0
От этого я могу понять, что все выглядит хорошо.
Я пытался также проверить действительность сертификата:
OpenSSL x509 -in /usr/lib/ssl/certs/Baltimore_CyberTrust_Root.pem
я получаю:
........
Validity
Not Before: May 12 18:46:00 2000 GMT
Not After : May 12 23:59:00 2025 GMT
......
Итак, все нормально, Все выглядит отлично, но все же я получаю эту ошибку. Кто-нибудь знает, что может быть неправильным?
Спасибо