Minha empresa vai usar o ESP32 em seus dispositivos. Tenho que escrever um código que permita baixar atualizações OTA do ESP32 de um servidor HTTPS. O certificado raiz do servidor TLS expira uma vez por ano. Aqui está minha pergunta: Como posso baixar com segurança um novo certificado do servidor se ele expirou? Se o certificado expirar, perco o controle remoto do ESP e não consigo carregar novos arquivos nele. Por exemplo, navegadores da web como Chrome ou Firefox (pelo que entendi) atualizam seu armazenamento CA, e os usuários nem percebem. É possível obter essa funcionalidade no ESP32?
A única ideia que tenho é conectar-me a um segundo site que seja HTTP, não HTTPS, e baixar o novo certificado. Mas devo usar TLS o tempo todo, então essa solução é inaceitável. Sou novo em tecnologia web e precio uma ajuda e dicas!
Você tem certeza de que o servidor usa um certificado raiz, não um intermediário? A diferença entre um navegador e um dispositivo embarcado é que você ainda pode atualizar um navegador com um instalador offline simples, não importa o quão desatualizada esteja sua versão atual. Com um dispositivo embarcado, o servidor OTA é a única tábua de salvação - se o dispositivo não puder se comunicar com o servidor, ele não poderá atualizar. Ele se torna um zumbi e só pode ser atualizado via cabo, o que geralmente não é viável.
Se o OTA do seu dispositivo embarcado depende de PKI com certificado raiz de 1 ano, eu diria que você está em uma situação ruim. Isso requer que cada dispositivo, sem exceção, atualize seu certificado raiz antes que o anterior seja rotacionado, qualquer um que fique para trás é um zumbi. Se você tem certeza de que pode atualizá-los todos antes do prazo, vá em frente e faça isso. Preste atenção aos dispositivos que não têm acesso à Internet por meses (por exemplo, porque estão parados em um depósito).
Esta é minha lista de soluções em ordem de preferência pessoal:
Você pode substituir 50 anos por qualquer número X se:
Tenho lutado para encontrar um bom material de referência sobre certificados e cadeias X.509 (90% das correspondências do Google são artigos de vendas superficiais). Posso indicar um artigo Illustrated X.509 Certificate e a página da Wikipedia