Skip to content

Commit c2aa282

Browse files
committed
enable loading of root-CAs, certificates and keys from byte array instead of SPIFFS-stream
1 parent a444898 commit c2aa282

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

libraries/ESP8266WiFi/src/WiFiClientSecure.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,14 @@ bool WiFiClientSecure::loadCACert(Stream& stream, size_t size)
570570
return _ssl->loadObject(SSL_OBJ_X509_CACERT, stream, size);
571571
}
572572

573+
bool WiFiClientSecure::loadCACert(const uint8_t* pk, size_t size)
574+
{
575+
if (!_ssl) {
576+
return false;
577+
}
578+
return _ssl->loadObject(SSL_OBJ_X509_CACERT, pk, size);
579+
}
580+
573581
bool WiFiClientSecure::loadCertificate(Stream& stream, size_t size)
574582
{
575583
if (!_ssl) {
@@ -578,6 +586,14 @@ bool WiFiClientSecure::loadCertificate(Stream& stream, size_t size)
578586
return _ssl->loadObject(SSL_OBJ_X509_CERT, stream, size);
579587
}
580588

589+
bool WiFiClientSecure::loadCertificate(const uint8_t* pk, size_t size)
590+
{
591+
if (!_ssl) {
592+
return false;
593+
}
594+
return _ssl->loadObject(SSL_OBJ_X509_CERT, pk, size);
595+
}
596+
581597
bool WiFiClientSecure::loadPrivateKey(Stream& stream, size_t size)
582598
{
583599
if (!_ssl) {
@@ -586,6 +602,14 @@ bool WiFiClientSecure::loadPrivateKey(Stream& stream, size_t size)
586602
return _ssl->loadObject(SSL_OBJ_RSA_KEY, stream, size);
587603
}
588604

605+
bool WiFiClientSecure::loadPrivateKey(const uint8_t* pk, size_t size)
606+
{
607+
if (!_ssl) {
608+
return false;
609+
}
610+
return _ssl->loadObject(SSL_OBJ_RSA_KEY, pk, size);
611+
}
612+
589613
extern "C" int __ax_port_read(int fd, uint8_t* buffer, size_t count)
590614
{
591615
ClientContext* _client = SSLContext::getIOContext(fd);

libraries/ESP8266WiFi/src/WiFiClientSecure.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,11 @@ class WiFiClientSecure : public WiFiClient {
5454
void setPrivateKey(const uint8_t* pk, size_t size);
5555

5656
bool loadCertificate(Stream& stream, size_t size);
57+
bool loadCertificate(const uint8_t* pk, size_t size);
5758
bool loadPrivateKey(Stream& stream, size_t size);
59+
bool loadPrivateKey(const uint8_t* pk, size_t size);
5860
bool loadCACert(Stream& stream, size_t size);
61+
bool loadCACert(const uint8_t* pk, size_t size);
5962

6063
template<typename TFile>
6164
bool loadCertificate(TFile& file) {

0 commit comments

Comments
 (0)