Moved setCertificates to the SSL template

Signed-off-by: Sara Damiano <sdamiano@stroudcenter.org>
This commit is contained in:
Sara Damiano
2024-05-22 11:41:53 -04:00
parent d2ce860c78
commit 5a266dda56
12 changed files with 35 additions and 43 deletions

View File

@@ -42,7 +42,7 @@ enum A7672xRegStatus {
class TinyGsmA7672X : public TinyGsmModem<TinyGsmA7672X>,
public TinyGsmGPRS<TinyGsmA7672X>,
public TinyGsmTCP<TinyGsmA7672X, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmA7672X>,
public TinyGsmSSL<TinyGsmA7672X, TINY_GSM_MUX_COUNT>,
public TinyGsmCalling<TinyGsmA7672X>,
public TinyGsmSMS<TinyGsmA7672X>,
public TinyGsmGSMLocation<TinyGsmA7672X>,
@@ -53,7 +53,7 @@ class TinyGsmA7672X : public TinyGsmModem<TinyGsmA7672X>,
friend class TinyGsmModem<TinyGsmA7672X>;
friend class TinyGsmGPRS<TinyGsmA7672X>;
friend class TinyGsmTCP<TinyGsmA7672X, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmA7672X>;
friend class TinyGsmSSL<TinyGsmA7672X, TINY_GSM_MUX_COUNT>;
friend class TinyGsmCalling<TinyGsmA7672X>;
friend class TinyGsmSMS<TinyGsmA7672X>;
friend class TinyGsmGSMLocation<TinyGsmA7672X>;
@@ -342,8 +342,8 @@ class TinyGsmA7672X : public TinyGsmModem<TinyGsmA7672X>,
// havetype like ".pem" or ".der".
// The certificate like - const char ca_cert[] PROGMEM = R"EOF(-----BEGIN...
// len of certificate like - sizeof(ca_cert)
bool addCertificate(const String& certificateName, const String& cert,
const uint16_t len) {
bool addCertificateImpl(const String& certificateName, const String& cert,
const uint16_t len) {
sendAT(GF("+CCERTDOWN="), certificateName, GF(","), len);
if (waitResponse(GF(">")) != 1) { return 0; }
stream.write(cert.c_str(), len);
@@ -351,13 +351,7 @@ class TinyGsmA7672X : public TinyGsmModem<TinyGsmA7672X>,
return waitResponse() == 1;
}
bool setCertificate(const String& certificateName, const uint8_t mux = 0) {
if (mux >= TINY_GSM_MUX_COUNT) return false;
certificates[mux] = certificateName;
return true;
}
bool deleteCertificate(const String& certificateName) { // todo test
bool deleteCertificateImpl(const String& certificateName) { // todo test
sendAT(GF("+CCERTDELE="), certificateName);
return waitResponse() == 1;
}

View File

@@ -44,6 +44,7 @@ enum BG96RegStatus {
class TinyGsmBG96 : public TinyGsmModem<TinyGsmBG96>,
public TinyGsmGPRS<TinyGsmBG96>,
public TinyGsmTCP<TinyGsmBG96, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmBG96, TINY_GSM_MUX_COUNT>,
public TinyGsmCalling<TinyGsmBG96>,
public TinyGsmSMS<TinyGsmBG96>,
public TinyGsmTime<TinyGsmBG96>,
@@ -54,6 +55,7 @@ class TinyGsmBG96 : public TinyGsmModem<TinyGsmBG96>,
friend class TinyGsmModem<TinyGsmBG96>;
friend class TinyGsmGPRS<TinyGsmBG96>;
friend class TinyGsmTCP<TinyGsmBG96, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmBG96, TINY_GSM_MUX_COUNT>;
friend class TinyGsmCalling<TinyGsmBG96>;
friend class TinyGsmSMS<TinyGsmBG96>;
friend class TinyGsmTime<TinyGsmBG96>;
@@ -263,11 +265,7 @@ class TinyGsmBG96 : public TinyGsmModem<TinyGsmBG96>,
* Secure socket layer (SSL) functions
*/
protected:
bool setCertificate(const String& certificateName, const uint8_t mux = 0) {
if (mux >= TINY_GSM_MUX_COUNT) return false;
certificates[mux] = certificateName;
return true;
}
// Follows functions as inherited from TinyGsmSSL.tpp
/*
* GPRS functions

View File

@@ -46,11 +46,11 @@ enum ESP8266RegStatus {
class TinyGsmESP8266 : public TinyGsmModem<TinyGsmESP8266>,
public TinyGsmWifi<TinyGsmESP8266>,
public TinyGsmTCP<TinyGsmESP8266, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmESP8266> {
public TinyGsmSSL<TinyGsmESP8266, TINY_GSM_MUX_COUNT> {
friend class TinyGsmModem<TinyGsmESP8266>;
friend class TinyGsmWifi<TinyGsmESP8266>;
friend class TinyGsmTCP<TinyGsmESP8266, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmESP8266>;
friend class TinyGsmSSL<TinyGsmESP8266, TINY_GSM_MUX_COUNT>;
/*
* Inner Client

View File

@@ -26,7 +26,7 @@
class TinyGsmSim7000SSL
: public TinyGsmSim70xx<TinyGsmSim7000SSL>,
public TinyGsmTCP<TinyGsmSim7000SSL, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmSim7000SSL>,
public TinyGsmSSL<TinyGsmSim7000SSL, TINY_GSM_MUX_COUNT>,
public TinyGsmSMS<TinyGsmSim7000SSL>,
public TinyGsmTime<TinyGsmSim7000SSL>,
public TinyGsmNTP<TinyGsmSim7000SSL>,
@@ -34,7 +34,7 @@ class TinyGsmSim7000SSL
public TinyGsmGSMLocation<TinyGsmSim7000SSL> {
friend class TinyGsmSim70xx<TinyGsmSim7000SSL>;
friend class TinyGsmTCP<TinyGsmSim7000SSL, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmSim7000SSL>;
friend class TinyGsmSSL<TinyGsmSim7000SSL, TINY_GSM_MUX_COUNT>;
friend class TinyGsmModem<TinyGsmSim7000SSL>;
friend class TinyGsmGPRS<TinyGsmSim7000SSL>;
friend class TinyGsmSMS<TinyGsmSim7000SSL>;
@@ -222,11 +222,7 @@ class TinyGsmSim7000SSL
* Secure socket layer (SSL) functions
*/
protected:
bool setCertificate(const String& certificateName, const uint8_t mux = 0) {
if (mux >= TINY_GSM_MUX_COUNT) return false;
certificates[mux] = certificateName;
return true;
}
// Follows functions as inherited from TinyGsmSSL.tpp
/*
* GPRS functions

View File

@@ -228,11 +228,7 @@ class TinyGsmSim7080 : public TinyGsmSim70xx<TinyGsmSim7080>,
* Secure socket layer (SSL) functions
*/
protected:
bool setCertificate(const String& certificateName, const uint8_t mux = 0) {
if (mux >= TINY_GSM_MUX_COUNT) return false;
certificates[mux] = certificateName;
return true;
}
// Follows functions as inherited from TinyGsmSSL.tpp
/*
* GPRS functions

View File

@@ -43,7 +43,7 @@ enum SIM800RegStatus {
class TinyGsmSim800 : public TinyGsmModem<TinyGsmSim800>,
public TinyGsmGPRS<TinyGsmSim800>,
public TinyGsmTCP<TinyGsmSim800, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmSim800>,
public TinyGsmSSL<TinyGsmSim800, TINY_GSM_MUX_COUNT>,
public TinyGsmCalling<TinyGsmSim800>,
public TinyGsmSMS<TinyGsmSim800>,
public TinyGsmGSMLocation<TinyGsmSim800>,
@@ -53,7 +53,7 @@ class TinyGsmSim800 : public TinyGsmModem<TinyGsmSim800>,
friend class TinyGsmModem<TinyGsmSim800>;
friend class TinyGsmGPRS<TinyGsmSim800>;
friend class TinyGsmTCP<TinyGsmSim800, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmSim800>;
friend class TinyGsmSSL<TinyGsmSim800, TINY_GSM_MUX_COUNT>;
friend class TinyGsmCalling<TinyGsmSim800>;
friend class TinyGsmSMS<TinyGsmSim800>;
friend class TinyGsmGSMLocation<TinyGsmSim800>;

View File

@@ -43,7 +43,7 @@ enum SaraR4RegStatus {
class TinyGsmSaraR4 : public TinyGsmModem<TinyGsmSaraR4>,
public TinyGsmGPRS<TinyGsmSaraR4>,
public TinyGsmTCP<TinyGsmSaraR4, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmSaraR4>,
public TinyGsmSSL<TinyGsmSaraR4, TINY_GSM_MUX_COUNT>,
public TinyGsmBattery<TinyGsmSaraR4>,
public TinyGsmGSMLocation<TinyGsmSaraR4>,
public TinyGsmGPS<TinyGsmSaraR4>,
@@ -53,7 +53,7 @@ class TinyGsmSaraR4 : public TinyGsmModem<TinyGsmSaraR4>,
friend class TinyGsmModem<TinyGsmSaraR4>;
friend class TinyGsmGPRS<TinyGsmSaraR4>;
friend class TinyGsmTCP<TinyGsmSaraR4, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmSaraR4>;
friend class TinyGsmSSL<TinyGsmSaraR4, TINY_GSM_MUX_COUNT>;
friend class TinyGsmBattery<TinyGsmSaraR4>;
friend class TinyGsmGSMLocation<TinyGsmSaraR4>;
friend class TinyGsmGPS<TinyGsmSaraR4>;

View File

@@ -60,7 +60,7 @@ enum SaraR5RegStatus {
class TinyGsmSaraR5 : public TinyGsmModem<TinyGsmSaraR5>,
public TinyGsmGPRS<TinyGsmSaraR5>,
public TinyGsmTCP<TinyGsmSaraR5, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmSaraR5>,
public TinyGsmSSL<TinyGsmSaraR5, TINY_GSM_MUX_COUNT>,
public TinyGsmCalling<TinyGsmSaraR5>,
public TinyGsmSMS<TinyGsmSaraR5>,
public TinyGsmGSMLocation<TinyGsmSaraR5>,
@@ -70,7 +70,7 @@ class TinyGsmSaraR5 : public TinyGsmModem<TinyGsmSaraR5>,
friend class TinyGsmModem<TinyGsmSaraR5>;
friend class TinyGsmGPRS<TinyGsmSaraR5>;
friend class TinyGsmTCP<TinyGsmSaraR5, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmSaraR5>;
friend class TinyGsmSSL<TinyGsmSaraR5, TINY_GSM_MUX_COUNT>;
friend class TinyGsmCalling<TinyGsmSaraR5>;
friend class TinyGsmSMS<TinyGsmSaraR5>;
friend class TinyGsmGSMLocation<TinyGsmSaraR5>;

View File

@@ -51,7 +51,7 @@ class TinyGsmSequansMonarch
: public TinyGsmModem<TinyGsmSequansMonarch>,
public TinyGsmGPRS<TinyGsmSequansMonarch>,
public TinyGsmTCP<TinyGsmSequansMonarch, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmSequansMonarch>,
public TinyGsmSSL<TinyGsmSequansMonarch, TINY_GSM_MUX_COUNT>,
public TinyGsmCalling<TinyGsmSequansMonarch>,
public TinyGsmSMS<TinyGsmSequansMonarch>,
public TinyGsmTime<TinyGsmSequansMonarch>,
@@ -59,7 +59,7 @@ class TinyGsmSequansMonarch
friend class TinyGsmModem<TinyGsmSequansMonarch>;
friend class TinyGsmGPRS<TinyGsmSequansMonarch>;
friend class TinyGsmTCP<TinyGsmSequansMonarch, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmSequansMonarch>;
friend class TinyGsmSSL<TinyGsmSequansMonarch, TINY_GSM_MUX_COUNT>;
friend class TinyGsmCalling<TinyGsmSequansMonarch>;
friend class TinyGsmSMS<TinyGsmSequansMonarch>;
friend class TinyGsmTime<TinyGsmSequansMonarch>;

View File

@@ -43,7 +43,7 @@ enum UBLOXRegStatus {
class TinyGsmUBLOX : public TinyGsmModem<TinyGsmUBLOX>,
public TinyGsmGPRS<TinyGsmUBLOX>,
public TinyGsmTCP<TinyGsmUBLOX, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmUBLOX>,
public TinyGsmSSL<TinyGsmUBLOX, TINY_GSM_MUX_COUNT>,
public TinyGsmCalling<TinyGsmUBLOX>,
public TinyGsmSMS<TinyGsmUBLOX>,
public TinyGsmGSMLocation<TinyGsmUBLOX>,
@@ -53,7 +53,7 @@ class TinyGsmUBLOX : public TinyGsmModem<TinyGsmUBLOX>,
friend class TinyGsmModem<TinyGsmUBLOX>;
friend class TinyGsmGPRS<TinyGsmUBLOX>;
friend class TinyGsmTCP<TinyGsmUBLOX, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmUBLOX>;
friend class TinyGsmSSL<TinyGsmUBLOX, TINY_GSM_MUX_COUNT>;
friend class TinyGsmCalling<TinyGsmUBLOX>;
friend class TinyGsmSMS<TinyGsmUBLOX>;
friend class TinyGsmGSMLocation<TinyGsmUBLOX>;

View File

@@ -71,7 +71,7 @@ class TinyGsmXBee : public TinyGsmModem<TinyGsmXBee>,
public TinyGsmGPRS<TinyGsmXBee>,
public TinyGsmWifi<TinyGsmXBee>,
public TinyGsmTCP<TinyGsmXBee, TINY_GSM_MUX_COUNT>,
public TinyGsmSSL<TinyGsmXBee>,
public TinyGsmSSL<TinyGsmXBee, TINY_GSM_MUX_COUNT>,
public TinyGsmSMS<TinyGsmXBee>,
public TinyGsmBattery<TinyGsmXBee>,
public TinyGsmTemperature<TinyGsmXBee> {
@@ -79,7 +79,7 @@ class TinyGsmXBee : public TinyGsmModem<TinyGsmXBee>,
friend class TinyGsmGPRS<TinyGsmXBee>;
friend class TinyGsmWifi<TinyGsmXBee>;
friend class TinyGsmTCP<TinyGsmXBee, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSSL<TinyGsmXBee>;
friend class TinyGsmSSL<TinyGsmXBee, TINY_GSM_MUX_COUNT>;
friend class TinyGsmSMS<TinyGsmXBee>;
friend class TinyGsmBattery<TinyGsmXBee>;
friend class TinyGsmTemperature<TinyGsmXBee>;

View File

@@ -13,7 +13,7 @@
#define TINY_GSM_MODEM_HAS_SSL
template <class modemType>
template <class modemType, uint8_t muxCount>
class TinyGsmSSL {
/* =========================================== */
/* =========================================== */
@@ -31,6 +31,12 @@ class TinyGsmSSL {
return thisModem().deleteCertificateImpl();
}
bool setCertificate(const String& certificateName, const uint8_t mux = 0) {
if (mux >= muxCount) return false;
certificates[mux] = certificateName;
return true;
}
/*
* CRTP Helper
*/
@@ -55,6 +61,8 @@ class TinyGsmSSL {
protected:
bool addCertificateImpl(const char* filename) TINY_GSM_ATTR_NOT_IMPLEMENTED;
bool deleteCertificateImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED;
String certificates[muxCount];
};
#endif // SRC_TINYGSMSSL_H_