Re: aws iot


Ryan Erickson
 

Hey Guy,

Start with the MQTT publisher example. You only need to make a few small tweaks to account for the device cert and key.
For example:

#if defined(CONFIG_MQTT_LIB_TLS)
 
#include "certificate.h"
 
#define APP_CA_CERT_TAG CA_TAG
#define APP_DEVICE_CERT_TAG DEVICE_CERT_TAG
 
static sec_tag_t m_sec_tags[] = {
#if defined(CONFIG_NET_SOCKETS_SOCKOPT_TLS)
APP_CA_CERT_TAG, APP_DEVICE_CERT_TAG
#endif
};
 
static int tls_init(void)
{
int err = -EINVAL;
 
#if defined(CONFIG_NET_SOCKETS_SOCKOPT_TLS)
err = tls_credential_add(APP_CA_CERT_TAG, TLS_CREDENTIAL_CA_CERTIFICATE,
ca_certificate, sizeof(ca_certificate));
if (err < 0) {
LOG_ERR("Failed to register public certificate: %d", err);
return err;
}
 
err = tls_credential_add(APP_DEVICE_CERT_TAG,
TLS_CREDENTIAL_SERVER_CERTIFICATE,
dev_certificate, sizeof(dev_certificate));
if (err < 0) {
LOG_ERR("Failed to register device certificate: %d", err);
return err;
}
 
err = tls_credential_add(APP_DEVICE_CERT_TAG,
TLS_CREDENTIAL_PRIVATE_KEY, dev_key,
sizeof(dev_key));
if (err < 0) {
LOG_ERR("Failed to register device key: %d", err);
return err;
}
#endif
 
return err;
}
 
#endif /* CONFIG_MQTT_LIB_TLS */

Join devel@lists.zephyrproject.org to automatically receive all group messages.