mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +03:00
WiFiClientSecure: don't trash certificate and private key on stop()
This commit is contained in:
parent
8f5a6fdf69
commit
5cd42a0316
@ -53,7 +53,7 @@ extern "C"
|
|||||||
uint8_t* default_private_key = 0;
|
uint8_t* default_private_key = 0;
|
||||||
uint32_t default_private_key_len = 0;
|
uint32_t default_private_key_len = 0;
|
||||||
static bool default_private_key_dynamic = false;
|
static bool default_private_key_dynamic = false;
|
||||||
//
|
static int s_pk_refcnt = 0;
|
||||||
uint8_t* default_certificate = 0;
|
uint8_t* default_certificate = 0;
|
||||||
uint32_t default_certificate_len = 0;
|
uint32_t default_certificate_len = 0;
|
||||||
static bool default_certificate_dynamic = false;
|
static bool default_certificate_dynamic = false;
|
||||||
@ -81,9 +81,6 @@ public:
|
|||||||
if (_ssl_ctx_refcnt == 0) {
|
if (_ssl_ctx_refcnt == 0) {
|
||||||
ssl_ctx_free(_ssl_ctx);
|
ssl_ctx_free(_ssl_ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
clear_private_key();
|
|
||||||
clear_certificate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ref() {
|
void ref() {
|
||||||
@ -186,12 +183,17 @@ int SSLContext::_ssl_ctx_refcnt = 0;
|
|||||||
|
|
||||||
|
|
||||||
WiFiClientSecure::WiFiClientSecure() {
|
WiFiClientSecure::WiFiClientSecure() {
|
||||||
|
++s_pk_refcnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
WiFiClientSecure::~WiFiClientSecure() {
|
WiFiClientSecure::~WiFiClientSecure() {
|
||||||
if (_ssl) {
|
if (_ssl) {
|
||||||
_ssl->unref();
|
_ssl->unref();
|
||||||
}
|
}
|
||||||
|
if (--s_pk_refcnt == 0) {
|
||||||
|
clear_private_key();
|
||||||
|
clear_certificate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WiFiClientSecure::WiFiClientSecure(const WiFiClientSecure& other)
|
WiFiClientSecure::WiFiClientSecure(const WiFiClientSecure& other)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user