Clase: Client Secure¶
Los métodos y propiedades que se describen en esta sección son específicos de ESP8266. No están cubiertos en la documentación de la librería WiFi de Arduino. Antes de que estén complétamente documentados, consulte la información a continuación.
Criptografía soportada¶
En el fondo, se usa la librería axtls. La librería solo admite certificados de RSA y no hay nuevos certificados de curva elíptica. TLSv1.2 es compatible desde SDK 2.4.0-rc1.
Los siguientes cifrados y compendios son compatibles con las especificaciones:
- Cifrado simétrico
- AES128-SHA
- AES256-SHA
- AES128-SHA256
- AES256-SHA256
- Cifrado asimétrico
- RSA 512/1024/2048/4096 bit encriptado/desencriptado.
- RSA firma/verificación
- Compendios
- SHA1
- MD5
- SHA256/384/512
- HMAC-SHA1
- HMAC-MD5
- HMAC-SHA256
loadCertificate¶
Carga el certificado de cliente desde el sistema de archivos.
loadCertificate(file)
Declaración
#include <FS.h>
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
const char* certyficateFile = "/client.cer";
setup() o loop()
if (!SPIFFS.begin())
{
Serial.println("Fallo al montar el sistema de ficheros");
return;
}
Serial.printf("Abriendo %s", certyficateFile);
File crtFile = SPIFFS.open(certyficateFile, "r");
if (!crtFile)
{
Serial.println(" Falló!");
}
WiFiClientSecure client;
Serial.print("Cargando %s", certyficateFile);
if (!client.loadCertificate(crtFile))
{
Serial.println(" Falló!");
}
// proceder con la conexión del cliente al host
setCertificate¶
Carga el certificado de cliente desde un array C.
setCertificate (array, size)
Para un ejemplo práctico, compruebe este interesante blog.
Otras llamadas a funciones¶
bool verify (const char *fingerprint, const char *domain_name)
void setPrivateKey (const uint8_t *pk, size_t size)
bool loadCertificate (Stream &stream, size_t size)
bool loadPrivateKey (Stream &stream, size_t size)
template<typename TFile > bool loadPrivateKey (TFile &file)
La documentación para las funciones anteriores aún no se ha realizado.
Consulte la sección separada con ejemplos dedicados específicamente a la clase Client Secure.