From 64cb0531a359013e84c51324145893128d72a10b Mon Sep 17 00:00:00 2001 From: "dietrich.m.3" Date: Tue, 10 Apr 2018 16:56:54 +0200 Subject: [PATCH] Added connect Function that allows providing external certificates. --- arduino-esp32/AWS_IOT/src/AWS_IOT.cpp | 19 +++++++++++++------ arduino-esp32/AWS_IOT/src/AWS_IOT.h | 4 +++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/arduino-esp32/AWS_IOT/src/AWS_IOT.cpp b/arduino-esp32/AWS_IOT/src/AWS_IOT.cpp index beb6232..59493e2 100644 --- a/arduino-esp32/AWS_IOT/src/AWS_IOT.cpp +++ b/arduino-esp32/AWS_IOT/src/AWS_IOT.cpp @@ -113,7 +113,17 @@ void disconnectCallbackHandler(AWS_IoT_Client *pClient, void *data) } +int AWS_IOT::connect(char *hostAddress, char *clientID, char *aws_root_ca, char *aws_cert, char *aws_key ) +{ + return _connect(hostAddress, clientID, aws_root_ca, aws_cert, aws_key ); +} + int AWS_IOT::connect(char *hostAddress, char *clientID) +{ + return _connect(hostAddress, clientID, aws_root_ca_pem, certificate_pem_crt, private_pem_key ); +} + +int AWS_IOT::_connect(char *hostAddress, char *clientID, const char *aws_root_ca, const char *aws_cert, const char *aws_key ) { const size_t stack_size = 36*1024; @@ -132,10 +142,9 @@ int AWS_IOT::connect(char *hostAddress, char *clientID) mqttInitParams.port = CONFIG_AWS_IOT_MQTT_PORT; - mqttInitParams.pRootCALocation = (const char *)aws_root_ca_pem; - mqttInitParams.pDeviceCertLocation = (const char *)certificate_pem_crt; - mqttInitParams.pDevicePrivateKeyLocation = (const char *)private_pem_key; - + mqttInitParams.pRootCALocation = (const char *)aws_root_ca; + mqttInitParams.pDeviceCertLocation = (const char *)aws_cert; + mqttInitParams.pDevicePrivateKeyLocation = (const char *)aws_key; mqttInitParams.mqttCommandTimeout_ms = 20000; mqttInitParams.tlsHandshakeTimeout_ms = 5000; @@ -143,7 +152,6 @@ int AWS_IOT::connect(char *hostAddress, char *clientID) mqttInitParams.disconnectHandler = disconnectCallbackHandler; mqttInitParams.disconnectHandlerData = NULL; - rc = aws_iot_mqtt_init(&client, &mqttInitParams); if(SUCCESS != rc) { @@ -189,7 +197,6 @@ int AWS_IOT::connect(char *hostAddress, char *clientID) return rc; } - int AWS_IOT::publish(char *pubtopic,char *pubPayLoad) { IoT_Error_t rc; diff --git a/arduino-esp32/AWS_IOT/src/AWS_IOT.h b/arduino-esp32/AWS_IOT/src/AWS_IOT.h index 530c5bc..3115528 100644 --- a/arduino-esp32/AWS_IOT/src/AWS_IOT.h +++ b/arduino-esp32/AWS_IOT/src/AWS_IOT.h @@ -35,9 +35,11 @@ typedef void (*pSubCallBackHandler_t)(char *topicName, int payloadLen, char *pay class AWS_IOT{ private: - + int _connect(char *hostAddress, char *clientID, const char *aws_root_ca, const char *aws_cert, const char *aws_key ); + public: int connect(char *hostAddress, char *clientID); + int connect(char *hostAddress, char *clientID, char *aws_root_ca, char *aws_cert, char *aws_key ); int publish(char *pubtopic,char *pubPayLoad); int subscribe(char *subTopic, pSubCallBackHandler_t pSubCallBackHandler); };