@@ -125,6 +125,9 @@ int WiFiClientSecure::_connectSSL(const char* hostName)
125
125
{
126
126
if (!_ssl) {
127
127
_ssl = std::make_shared<SSLContext>();
128
+ if (!_ssl) {
129
+ return 0 ;
130
+ }
128
131
}
129
132
_ssl->connect (_client, hostName, _timeout);
130
133
@@ -170,8 +173,7 @@ size_t WiFiClientSecure::write(Stream& stream)
170
173
size_t totalSent = 0 ;
171
174
size_t countRead;
172
175
size_t countSent;
173
- if (!_ssl)
174
- {
176
+ if (!_ssl) {
175
177
return 0 ;
176
178
}
177
179
do {
@@ -399,61 +401,63 @@ void WiFiClientSecure::_initSSLContext()
399
401
bool WiFiClientSecure::setCACert (const uint8_t * pk, size_t size)
400
402
{
401
403
_initSSLContext ();
402
- return _ssl->loadObject (SSL_OBJ_X509_CACERT, pk, size);
404
+ return _ssl ? _ssl ->loadObject (SSL_OBJ_X509_CACERT, pk, size) : false ;
403
405
}
404
406
405
407
bool WiFiClientSecure::setCertificate (const uint8_t * pk, size_t size)
406
408
{
407
409
_initSSLContext ();
408
- return _ssl->loadObject (SSL_OBJ_X509_CERT, pk, size);
410
+ return _ssl ? _ssl ->loadObject (SSL_OBJ_X509_CERT, pk, size) : false ;
409
411
}
410
412
411
413
bool WiFiClientSecure::setPrivateKey (const uint8_t * pk, size_t size)
412
414
{
413
415
_initSSLContext ();
414
- return _ssl->loadObject (SSL_OBJ_RSA_KEY, pk, size);
416
+ return _ssl ? _ssl ->loadObject (SSL_OBJ_RSA_KEY, pk, size) : false ;
415
417
}
416
418
417
419
bool WiFiClientSecure::setCACert_P (PGM_VOID_P pk, size_t size)
418
420
{
419
421
_initSSLContext ();
420
- return _ssl->loadObject_P (SSL_OBJ_X509_CACERT, pk, size);
422
+ return _ssl ? _ssl ->loadObject_P (SSL_OBJ_X509_CACERT, pk, size) : false ;
421
423
}
422
424
423
425
bool WiFiClientSecure::setCertificate_P (PGM_VOID_P pk, size_t size)
424
426
{
425
427
_initSSLContext ();
426
- return _ssl->loadObject_P (SSL_OBJ_X509_CERT, pk, size);
428
+ return _ssl ? _ssl ->loadObject_P (SSL_OBJ_X509_CERT, pk, size) : false ;
427
429
}
428
430
429
431
bool WiFiClientSecure::setPrivateKey_P (PGM_VOID_P pk, size_t size)
430
432
{
431
433
_initSSLContext ();
432
- return _ssl->loadObject_P (SSL_OBJ_RSA_KEY, pk, size);
434
+ return _ssl ? _ssl ->loadObject_P (SSL_OBJ_RSA_KEY, pk, size) : false ;
433
435
}
434
436
435
437
bool WiFiClientSecure::loadCACert (Stream& stream, size_t size)
436
438
{
437
439
_initSSLContext ();
438
- return _ssl->loadObject (SSL_OBJ_X509_CACERT, stream, size);
440
+ return _ssl ? _ssl ->loadObject (SSL_OBJ_X509_CACERT, stream, size) : false ;
439
441
}
440
442
441
443
bool WiFiClientSecure::loadCertificate (Stream& stream, size_t size)
442
444
{
443
445
_initSSLContext ();
444
- return _ssl->loadObject (SSL_OBJ_X509_CERT, stream, size);
446
+ return _ssl ? _ssl ->loadObject (SSL_OBJ_X509_CERT, stream, size) : false ;
445
447
}
446
448
447
449
bool WiFiClientSecure::loadPrivateKey (Stream& stream, size_t size)
448
450
{
449
451
_initSSLContext ();
450
- return _ssl->loadObject (SSL_OBJ_RSA_KEY, stream, size);
452
+ return _ssl ? _ssl ->loadObject (SSL_OBJ_RSA_KEY, stream, size) : false ;
451
453
}
452
454
453
455
void WiFiClientSecure::allowSelfSignedCerts ()
454
456
{
455
457
_initSSLContext ();
456
- _ssl->allowSelfSignedCerts ();
458
+ if (_ssl) {
459
+ _ssl->allowSelfSignedCerts ();
460
+ }
457
461
}
458
462
459
463
extern " C" int __ax_port_read (int fd, uint8_t * buffer, size_t count)
0 commit comments