mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-12 01:53:07 +03:00
Move BearSSLHelpers into BearSSL namespace (#5315)
BearSSLX509List, BearSSLSession, BearSSLPublicKey, and BearSSLPrivateKey were all in the global namespace and not in the BearSSL:: one, due to an oversight when they were originally created. Move them to the proper namespace with the following mapping: BearSSLX509List => BearSSL::X509List BearSSLSession => BearSSL::Session BearSSLPublicKey => BearSSL::PublicKey BearSSLPrivateKey => BearSSL::PrivateKey
This commit is contained in:
committed by
GitHub
parent
a42c3c399b
commit
233d3e3b5e
@ -622,33 +622,36 @@ namespace brssl {
|
||||
};
|
||||
|
||||
|
||||
namespace BearSSL {
|
||||
|
||||
|
||||
// ----- Public Key -----
|
||||
|
||||
BearSSLPublicKey::BearSSLPublicKey() {
|
||||
PublicKey::PublicKey() {
|
||||
_key = nullptr;
|
||||
}
|
||||
|
||||
BearSSLPublicKey::BearSSLPublicKey(const char *pemKey) {
|
||||
PublicKey::PublicKey(const char *pemKey) {
|
||||
_key = nullptr;
|
||||
parse(pemKey);
|
||||
}
|
||||
|
||||
BearSSLPublicKey::BearSSLPublicKey(const uint8_t *derKey, size_t derLen) {
|
||||
PublicKey::PublicKey(const uint8_t *derKey, size_t derLen) {
|
||||
_key = nullptr;
|
||||
parse(derKey, derLen);
|
||||
}
|
||||
|
||||
BearSSLPublicKey::~BearSSLPublicKey() {
|
||||
PublicKey::~PublicKey() {
|
||||
if (_key) {
|
||||
brssl::free_public_key(_key);
|
||||
}
|
||||
}
|
||||
|
||||
bool BearSSLPublicKey::parse(const char *pemKey) {
|
||||
bool PublicKey::parse(const char *pemKey) {
|
||||
return parse((const uint8_t *)pemKey, strlen_P(pemKey));
|
||||
}
|
||||
|
||||
bool BearSSLPublicKey::parse(const uint8_t *derKey, size_t derLen) {
|
||||
bool PublicKey::parse(const uint8_t *derKey, size_t derLen) {
|
||||
if (_key) {
|
||||
brssl::free_public_key(_key);
|
||||
_key = nullptr;
|
||||
@ -657,28 +660,28 @@ bool BearSSLPublicKey::parse(const uint8_t *derKey, size_t derLen) {
|
||||
return _key ? true : false;
|
||||
}
|
||||
|
||||
bool BearSSLPublicKey::isRSA() const {
|
||||
bool PublicKey::isRSA() const {
|
||||
if (!_key || _key->key_type != BR_KEYTYPE_RSA) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BearSSLPublicKey::isEC() const {
|
||||
bool PublicKey::isEC() const {
|
||||
if (!_key || _key->key_type != BR_KEYTYPE_EC) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
const br_rsa_public_key *BearSSLPublicKey::getRSA() const {
|
||||
const br_rsa_public_key *PublicKey::getRSA() const {
|
||||
if (!_key || _key->key_type != BR_KEYTYPE_RSA) {
|
||||
return nullptr;
|
||||
}
|
||||
return &_key->key.rsa;
|
||||
}
|
||||
|
||||
const br_ec_public_key *BearSSLPublicKey::getEC() const {
|
||||
const br_ec_public_key *PublicKey::getEC() const {
|
||||
if (!_key || _key->key_type != BR_KEYTYPE_EC) {
|
||||
return nullptr;
|
||||
}
|
||||
@ -687,31 +690,31 @@ const br_ec_public_key *BearSSLPublicKey::getEC() const {
|
||||
|
||||
// ----- Private Key -----
|
||||
|
||||
BearSSLPrivateKey::BearSSLPrivateKey() {
|
||||
PrivateKey::PrivateKey() {
|
||||
_key = nullptr;
|
||||
}
|
||||
|
||||
BearSSLPrivateKey::BearSSLPrivateKey(const char *pemKey) {
|
||||
PrivateKey::PrivateKey(const char *pemKey) {
|
||||
_key = nullptr;
|
||||
parse(pemKey);
|
||||
}
|
||||
|
||||
BearSSLPrivateKey::BearSSLPrivateKey(const uint8_t *derKey, size_t derLen) {
|
||||
PrivateKey::PrivateKey(const uint8_t *derKey, size_t derLen) {
|
||||
_key = nullptr;
|
||||
parse(derKey, derLen);
|
||||
}
|
||||
|
||||
BearSSLPrivateKey::~BearSSLPrivateKey() {
|
||||
PrivateKey::~PrivateKey() {
|
||||
if (_key) {
|
||||
brssl::free_private_key(_key);
|
||||
}
|
||||
}
|
||||
|
||||
bool BearSSLPrivateKey::parse(const char *pemKey) {
|
||||
bool PrivateKey::parse(const char *pemKey) {
|
||||
return parse((const uint8_t *)pemKey, strlen_P(pemKey));
|
||||
}
|
||||
|
||||
bool BearSSLPrivateKey::parse(const uint8_t *derKey, size_t derLen) {
|
||||
bool PrivateKey::parse(const uint8_t *derKey, size_t derLen) {
|
||||
if (_key) {
|
||||
brssl::free_private_key(_key);
|
||||
_key = nullptr;
|
||||
@ -720,41 +723,43 @@ bool BearSSLPrivateKey::parse(const uint8_t *derKey, size_t derLen) {
|
||||
return _key ? true : false;
|
||||
}
|
||||
|
||||
bool BearSSLPrivateKey::isRSA() const {
|
||||
bool PrivateKey::isRSA() const {
|
||||
if (!_key || _key->key_type != BR_KEYTYPE_RSA) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BearSSLPrivateKey::isEC() const {
|
||||
bool PrivateKey::isEC() const {
|
||||
if (!_key || _key->key_type != BR_KEYTYPE_EC) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
const br_rsa_private_key *BearSSLPrivateKey::getRSA() const {
|
||||
const br_rsa_private_key *PrivateKey::getRSA() const {
|
||||
if (!_key || _key->key_type != BR_KEYTYPE_RSA) {
|
||||
return nullptr;
|
||||
}
|
||||
return &_key->key.rsa;
|
||||
}
|
||||
|
||||
const br_ec_private_key *BearSSLPrivateKey::getEC() const {
|
||||
const br_ec_private_key *PrivateKey::getEC() const {
|
||||
if (!_key || _key->key_type != BR_KEYTYPE_EC) {
|
||||
return nullptr;
|
||||
}
|
||||
return &_key->key.ec;
|
||||
}
|
||||
|
||||
BearSSLX509List::BearSSLX509List() {
|
||||
// ----- Certificate Lists -----
|
||||
|
||||
X509List::X509List() {
|
||||
_count = 0;
|
||||
_cert = nullptr;
|
||||
_ta = nullptr;
|
||||
}
|
||||
|
||||
BearSSLX509List::BearSSLX509List(const char *pemCert) {
|
||||
X509List::X509List(const char *pemCert) {
|
||||
_count = 0;
|
||||
_cert = nullptr;
|
||||
_ta = nullptr;
|
||||
@ -762,14 +767,14 @@ BearSSLX509List::BearSSLX509List(const char *pemCert) {
|
||||
}
|
||||
|
||||
|
||||
BearSSLX509List::BearSSLX509List(const uint8_t *derCert, size_t derLen) {
|
||||
X509List::X509List(const uint8_t *derCert, size_t derLen) {
|
||||
_count = 0;
|
||||
_cert = nullptr;
|
||||
_ta = nullptr;
|
||||
append(derCert, derLen);
|
||||
}
|
||||
|
||||
BearSSLX509List::~BearSSLX509List() {
|
||||
X509List::~X509List() {
|
||||
brssl::free_certificates(_cert, _count); // also frees cert
|
||||
for (size_t i = 0; i < _count; i++) {
|
||||
brssl::free_ta_contents(&_ta[i]);
|
||||
@ -777,11 +782,11 @@ BearSSLX509List::~BearSSLX509List() {
|
||||
free(_ta);
|
||||
}
|
||||
|
||||
bool BearSSLX509List::append(const char *pemCert) {
|
||||
bool X509List::append(const char *pemCert) {
|
||||
return append((const uint8_t *)pemCert, strlen_P(pemCert));
|
||||
}
|
||||
|
||||
bool BearSSLX509List::append(const uint8_t *derCert, size_t derLen) {
|
||||
bool X509List::append(const uint8_t *derCert, size_t derLen) {
|
||||
size_t numCerts;
|
||||
br_x509_certificate *newCerts = brssl::read_certificates((const char *)derCert, derLen, &numCerts);
|
||||
if (!newCerts) {
|
||||
@ -819,3 +824,6 @@ bool BearSSLX509List::append(const uint8_t *derCert, size_t derLen) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user