NuMaker connection with AWS IoT thru MQTT/HTTPS (Mbed OS 6)
Dependencies: MQTT
my-tlssocket/MyTLSSocket.h@49:ccbacce17f7a, 19 months ago (annotated)
- Committer:
- cyliang
- Date:
- Wed Mar 01 03:54:59 2023 +0000
- Revision:
- 49:ccbacce17f7a
- Parent:
- 41:b878d7cd7035
Update os v6.17.0 for M467 target
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ccli8 |
25:edf568984d27 | 1 | #ifndef _MY_TLS_SOCKET_H_ |
ccli8 |
25:edf568984d27 | 2 | #define _MY_TLS_SOCKET_H_ |
ccli8 |
25:edf568984d27 | 3 | |
ccli8 |
41:b878d7cd7035 | 4 | #include "mbed.h" |
ccli8 |
41:b878d7cd7035 | 5 | #include "TLSSocket.h" |
ccli8 |
41:b878d7cd7035 | 6 | #include "mbedtls_utils.h" |
ccli8 |
25:edf568984d27 | 7 | |
ccli8 |
25:edf568984d27 | 8 | #if MBED_CONF_MY_TLSSOCKET_TLS_DEBUG_LEVEL > 0 |
ccli8 |
25:edf568984d27 | 9 | #include "mbedtls/debug.h" |
ccli8 |
25:edf568984d27 | 10 | #endif |
ccli8 |
25:edf568984d27 | 11 | |
ccli8 |
41:b878d7cd7035 | 12 | /* MyTLSSocket = TLSSocket + MQTT lib required timed read/write + debug thru console */ |
ccli8 |
41:b878d7cd7035 | 13 | class MyTLSSocket : public TLSSocket |
ccli8 |
41:b878d7cd7035 | 14 | { |
ccli8 |
25:edf568984d27 | 15 | public: |
ccli8 |
41:b878d7cd7035 | 16 | MyTLSSocket(); |
ccli8 |
25:edf568984d27 | 17 | ~MyTLSSocket(); |
ccli8 |
25:edf568984d27 | 18 | |
ccli8 |
25:edf568984d27 | 19 | /** |
ccli8 |
25:edf568984d27 | 20 | * Timed recv for MQTT lib |
ccli8 |
25:edf568984d27 | 21 | */ |
ccli8 |
25:edf568984d27 | 22 | int read(unsigned char* buffer, int len, int timeout); |
ccli8 |
25:edf568984d27 | 23 | |
ccli8 |
25:edf568984d27 | 24 | /** |
ccli8 |
25:edf568984d27 | 25 | * Timed send for MQTT lib |
ccli8 |
25:edf568984d27 | 26 | */ |
ccli8 |
25:edf568984d27 | 27 | int write(unsigned char* buffer, int len, int timeout); |
ccli8 |
25:edf568984d27 | 28 | |
ccli8 |
25:edf568984d27 | 29 | protected: |
ccli8 |
25:edf568984d27 | 30 | #if MBED_CONF_MY_TLSSOCKET_TLS_DEBUG_LEVEL > 0 |
ccli8 |
25:edf568984d27 | 31 | /** |
ccli8 |
41:b878d7cd7035 | 32 | * Debug callback for Mbed TLS |
ccli8 |
25:edf568984d27 | 33 | * Just prints on the USB serial port |
ccli8 |
25:edf568984d27 | 34 | */ |
ccli8 |
25:edf568984d27 | 35 | static void my_debug(void *ctx, int level, const char *file, int line, |
ccli8 |
25:edf568984d27 | 36 | const char *str); |
ccli8 |
25:edf568984d27 | 37 | |
ccli8 |
25:edf568984d27 | 38 | /** |
ccli8 |
41:b878d7cd7035 | 39 | * Certificate verification callback for Mbed TLS |
ccli8 |
25:edf568984d27 | 40 | * Here we only use it to display information on each cert in the chain |
ccli8 |
25:edf568984d27 | 41 | */ |
ccli8 |
25:edf568984d27 | 42 | static int my_verify(void *data, mbedtls_x509_crt *crt, int depth, uint32_t *flags); |
ccli8 |
25:edf568984d27 | 43 | #endif |
ccli8 |
25:edf568984d27 | 44 | }; |
ccli8 |
25:edf568984d27 | 45 | |
ccli8 |
25:edf568984d27 | 46 | #endif // _MY_TLS_SOCKET_H_ |