Skip to content

Commit 468e864

Browse files
committed
Add SSLClientESP32 support to the network layer
1 parent b99cfda commit 468e864

File tree

6 files changed

+1222
-4
lines changed

6 files changed

+1222
-4
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,4 @@ NMEA_Client
5656
Read_Map_File
5757
RTK_Reset
5858
Split_Messages
59+
X.509_crt_bundle_bin_to_c

Firmware/RTK_Surveyor/NetworkClient.h

+62-4
Original file line numberDiff line numberDiff line change
@@ -237,21 +237,28 @@ class NetworkClient : public Client
237237
//------------------------------
238238

239239
friend class NetworkEthernetClient;
240+
friend class NetworkEthernetSslClient;
240241
friend class NetworkWiFiClient;
242+
friend class NetworkWiFiSslClient;
241243
};
242244

243245
#ifdef COMPILE_ETHERNET
244246
class NetworkEthernetClient : public NetworkClient
245247
{
246248
private:
247249

248-
EthernetClient _client;
250+
EthernetClient _ethernetClient;
249251

250252
public:
251253

254+
NetworkEthernetClient() :
255+
NetworkClient(&_ethernetClient, NETWORK_TYPE_ETHERNET)
256+
{
257+
}
258+
252259
NetworkEthernetClient(EthernetClient& client) :
253-
_client{client},
254-
NetworkClient(&_client, NETWORK_TYPE_ETHERNET)
260+
_ethernetClient{client},
261+
NetworkClient(&_ethernetClient, NETWORK_TYPE_ETHERNET)
255262
{
256263
}
257264

@@ -260,17 +267,45 @@ class NetworkEthernetClient : public NetworkClient
260267
this->~NetworkClient();
261268
}
262269
};
270+
271+
class NetworkEthernetSslClient : public NetworkClient
272+
{
273+
protected:
274+
275+
EthernetClient _ethernetClient;
276+
SSLClientESP32 _sslClient;
277+
278+
public:
279+
280+
NetworkEthernetSslClient() :
281+
_sslClient(),
282+
NetworkClient(&_sslClient, NETWORK_TYPE_ETHERNET)
283+
{
284+
_sslClient.setClient(&_ethernetClient);
285+
_sslClient.setCACertBundle(x509CertificateBundle);
286+
}
287+
288+
~NetworkEthernetSslClient()
289+
{
290+
this->~NetworkClient();
291+
}
292+
};
263293
#endif // COMPILE_ETHERNET
264294

265295
#ifdef COMPILE_WIFI
266296
class NetworkWiFiClient : public NetworkClient
267297
{
268-
private:
298+
protected:
269299

270300
WiFiClient _client;
271301

272302
public:
273303

304+
NetworkWiFiClient() :
305+
NetworkClient(&_client, NETWORK_TYPE_WIFI)
306+
{
307+
}
308+
274309
NetworkWiFiClient(WiFiClient& client) :
275310
_client{client},
276311
NetworkClient(&_client, NETWORK_TYPE_WIFI)
@@ -282,6 +317,29 @@ class NetworkWiFiClient : public NetworkClient
282317
this->~NetworkClient();
283318
}
284319
};
320+
321+
class NetworkWiFiSslClient : public NetworkClient
322+
{
323+
protected:
324+
325+
WiFiClient _wifiClient;
326+
SSLClientESP32 _sslClient;
327+
328+
public:
329+
330+
NetworkWiFiSslClient() :
331+
_sslClient(),
332+
NetworkClient(&_sslClient, NETWORK_TYPE_WIFI)
333+
{
334+
_sslClient.setClient(&_wifiClient);
335+
_sslClient.setCACertBundle(x509CertificateBundle);
336+
}
337+
338+
~NetworkWiFiSslClient()
339+
{
340+
this->~NetworkClient();
341+
}
342+
};
285343
#endif // COMPILE_WIFI
286344

287345
#endif // __NETWORK_CLIENT_H__

Firmware/RTK_Surveyor/RTK_Surveyor.ino

+3
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,9 @@ char logFileName[sizeof("SFE_Reference_Station_230101_120101.ubx_plusExtraSpace"
201201
// Over-the-Air (OTA) update support
202202
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
203203

204+
#include <SSLClientESP32.h> // http://librarymanager/All#SSLClientESP32
205+
#include "X509_Certificate_Bundle.h" // Root certificates
206+
204207
#include "esp_ota_ops.h" //Needed for partition counting and updateFromSD
205208

206209
#ifdef COMPILE_WIFI

0 commit comments

Comments
 (0)