I have gotten mqtt_simple working with iot.eclipse.org:1883. I am now trying to adapt it to use TLS. From other questions I have made the following changes:
diff --git a/samples/nrf9160/mqtt_simple/src/main.c b/samples/nrf9160/mqtt_simple/src/main.c
index 779ee15..32afae5 100644
--- a/samples/nrf9160/mqtt_simple/src/main.c
+++ b/samples/nrf9160/mqtt_simple/src/main.c
@@ -288,7 +288,14 @@ static void client_init(struct mqtt_client *client)
client->tx_buf_size = sizeof(tx_buffer);
/* MQTT transport configuration */
- client->transport.type = MQTT_TRANSPORT_NON_SECURE;
+ client->transport.type = MQTT_TRANSPORT_SECURE;
+ struct mqtt_sec_config *tls_config = &client->transport.tls.config;
+ tls_config->peer_verify = 0;
+ tls_config->cipher_list = 0;
+ tls_config->cipher_count = 0;
+ tls_config->sec_tag_list = 0;
+ tls_config->sec_tag_count = 0;
+ tls_config->hostname = CONFIG_MQTT_BROKER_HOSTNAME;
}
/**@brief Initialize the file descriptor structure used by poll.
and set CONFIG_MQTT_LIB_TLS. When I try I get error -45 from mqtt_connect. I get the same if I set peer_verify = 2.
Software versions:
nrf | c1939d963fe2c18013ffb8de0bd8f6fc1d91724d |
modem | 0.6.8-30 |