Skip to content

Commit af58a74

Browse files
sauttefkigrr
authored andcommitted
Allow usage of byte arrays to set RootCAs (#2968)
1 parent f30c03b commit af58a74

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

libraries/ESP8266WiFi/src/WiFiClientSecure.cpp

+14-6
Original file line numberDiff line numberDiff line change
@@ -547,20 +547,28 @@ bool WiFiClientSecure::verifyCertChain(const char* domain_name)
547547
return _verifyDN(domain_name);
548548
}
549549

550-
void WiFiClientSecure::setCertificate(const uint8_t* cert_data, size_t size)
550+
bool WiFiClientSecure::setCACert(const uint8_t* pk, size_t size)
551551
{
552552
if (!_ssl) {
553-
return;
553+
return false;
554+
}
555+
return _ssl->loadObject(SSL_OBJ_X509_CACERT, pk, size);
556+
}
557+
558+
bool WiFiClientSecure::setCertificate(const uint8_t* pk, size_t size)
559+
{
560+
if (!_ssl) {
561+
return false;
554562
}
555-
_ssl->loadObject(SSL_OBJ_X509_CERT, cert_data, size);
563+
return _ssl->loadObject(SSL_OBJ_X509_CERT, pk, size);
556564
}
557565

558-
void WiFiClientSecure::setPrivateKey(const uint8_t* pk, size_t size)
566+
bool WiFiClientSecure::setPrivateKey(const uint8_t* pk, size_t size)
559567
{
560568
if (!_ssl) {
561-
return;
569+
return false;
562570
}
563-
_ssl->loadObject(SSL_OBJ_RSA_KEY, pk, size);
571+
return _ssl->loadObject(SSL_OBJ_RSA_KEY, pk, size);
564572
}
565573

566574
bool WiFiClientSecure::loadCACert(Stream& stream, size_t size)

libraries/ESP8266WiFi/src/WiFiClientSecure.h

+4-3
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,13 @@ class WiFiClientSecure : public WiFiClient {
5050
size_t peekBytes(uint8_t *buffer, size_t length) override;
5151
void stop() override;
5252

53-
void setCertificate(const uint8_t* cert_data, size_t size);
54-
void setPrivateKey(const uint8_t* pk, size_t size);
53+
bool setCACert(const uint8_t* pk, size_t size);
54+
bool setCertificate(const uint8_t* pk, size_t size);
55+
bool setPrivateKey(const uint8_t* pk, size_t size);
5556

57+
bool loadCACert(Stream& stream, size_t size);
5658
bool loadCertificate(Stream& stream, size_t size);
5759
bool loadPrivateKey(Stream& stream, size_t size);
58-
bool loadCACert(Stream& stream, size_t size);
5960

6061
template<typename TFile>
6162
bool loadCertificate(TFile& file) {

0 commit comments

Comments
 (0)