I've got a small edge module, written in python using the azure-iot-sdk-python, that sends events back to the IoT hub using Mqtt. This works nicely.
The events are no longer delivered when I switch to using Mqtt over websockets (IoTHubTransportProvider.MQTT_WS
).
In the edgeHub logs i can see:
2018-06-14 07:33:33.599 +00:00 [ERR] [Microsoft.AspNetCore.Server.Kestrel] - Uncaught exception from the OnConnectionAsync method of an IConnectionAdapter.
System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL. ---> Interop+Crypto+OpenSslCryptographicException: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol
When I manually update the injected EdgeHubConnectionString
(export EdgeHubConnectionString=...
) to the one taken from the Device Details
page on the IoT hub blade in the Azure portal, then Mqtt over websockets starts working.
How can I get Mqtt over websockets working with the injected EdgeHubConnectionString
module connection string, instead of the one take from the Device Details page?