1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Allow usage of byte arrays to set RootCAs (#2968)

This commit is contained in:
Frank Sautter 2017-02-15 12:22:23 +01:00 committed by Ivan Grokhotkov
parent f30c03b9e1
commit af58a74cc0
2 changed files with 18 additions and 9 deletions

View File

@ -547,20 +547,28 @@ bool WiFiClientSecure::verifyCertChain(const char* domain_name)
return _verifyDN(domain_name); return _verifyDN(domain_name);
} }
void WiFiClientSecure::setCertificate(const uint8_t* cert_data, size_t size) bool WiFiClientSecure::setCACert(const uint8_t* pk, size_t size)
{ {
if (!_ssl) { if (!_ssl) {
return; return false;
} }
_ssl->loadObject(SSL_OBJ_X509_CERT, cert_data, size); return _ssl->loadObject(SSL_OBJ_X509_CACERT, pk, size);
} }
void WiFiClientSecure::setPrivateKey(const uint8_t* pk, size_t size) bool WiFiClientSecure::setCertificate(const uint8_t* pk, size_t size)
{ {
if (!_ssl) { if (!_ssl) {
return; return false;
} }
_ssl->loadObject(SSL_OBJ_RSA_KEY, pk, size); return _ssl->loadObject(SSL_OBJ_X509_CERT, pk, size);
}
bool WiFiClientSecure::setPrivateKey(const uint8_t* pk, size_t size)
{
if (!_ssl) {
return false;
}
return _ssl->loadObject(SSL_OBJ_RSA_KEY, pk, size);
} }
bool WiFiClientSecure::loadCACert(Stream& stream, size_t size) bool WiFiClientSecure::loadCACert(Stream& stream, size_t size)

View File

@ -50,12 +50,13 @@ public:
size_t peekBytes(uint8_t *buffer, size_t length) override; size_t peekBytes(uint8_t *buffer, size_t length) override;
void stop() override; void stop() override;
void setCertificate(const uint8_t* cert_data, size_t size); bool setCACert(const uint8_t* pk, size_t size);
void setPrivateKey(const uint8_t* pk, size_t size); bool setCertificate(const uint8_t* pk, size_t size);
bool setPrivateKey(const uint8_t* pk, size_t size);
bool loadCACert(Stream& stream, size_t size);
bool loadCertificate(Stream& stream, size_t size); bool loadCertificate(Stream& stream, size_t size);
bool loadPrivateKey(Stream& stream, size_t size); bool loadPrivateKey(Stream& stream, size_t size);
bool loadCACert(Stream& stream, size_t size);
template<typename TFile> template<typename TFile>
bool loadCertificate(TFile& file) { bool loadCertificate(TFile& file) {