🛠 HTTPS avec validation de certificat racine

Arduino MKR WiFi 1010 · avance · Schéma : IMG-mkr-wifi-1010-avance-1-mkrwifi-https-certificats.svg — Poignée de main TLS entre le WiFiSSLClient de la MKR WiFi 1010 et un serveur HTTPS, le certificat du serveur étant vérifié contre le magasin de CA racines stocké dans le module NINA.

Objetivos

Pasar de HTTP sin cifrar a HTTPS con WiFiSSLClient: el módulo NINA ejecuta el handshake TLS, que verifica el certificado del servidor contra su almacén interno de autoridades de certificación (CA) raíz (bundle reconstruido desde la lista de Android, incluido en el firmware nina-fw). Aprenderás a diagnosticar los fallos de validación y a convivir con los errores TLS conocidos del firmware.

Material

Código completo

#include <WiFiNINA.h>

const char* SSID = "votre-ssid";
const char* PASS = "votre-mot-de-passe";
WiFiSSLClient secure;   // TLS + validation CA embarquee dans le NINA

void setup {
  Serial.begin(115200);
  WiFi.begin(SSID, PASS);
  while (WiFi.status != WL_CONNECTED) { delay(500); Serial.print("."); }

  if (secure.connect("www.howsmyssl.com", 443)) {
    secure.println("GET /a/check HTTP/1.1");
    secure.println("Host: www.howsmyssl.com");
    secure.println("Connection: close");
    secure.println;
    while (secure.available) Serial.write(secure.read);
    secure.stop;                       // libere la session TLS
  } else {
    Serial.println("Handshake TLS KO - firmware/CA a verifier");
  }
}

void loop {}

Verificación esperada

Se muestra la respuesta JSON de howsmyssl, lo que demuestra que el canal está cifrado y el certificado validado. secure.connect devuelve 0 mientras la CA emisora no esté en el bundle del módulo: actualiza primero el firmware antes de sospechar de tu código. Llama siempre a stop: cada sesión TLS consume la valiosa RAM del NINA.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales