14.4.2. Requisitos previos: OpenSSL y el reloj

Dos elementos tienen que estar en su sitio antes de que ninguna de las páginas prácticas funcione: la herramienta de línea de comandos OpenSSL en su máquina de desarrollo y un reloj correcto en la cámara en el momento de cada handshake TLS.

14.4.2.1. Instalación de OpenSSL

Los comandos de esta sección usan la herramienta de línea de comandos openssl, ejecutada en su máquina de desarrollo, no en la cámara. A menudo ya está instalada; compruébelo con:

openssl version

Si no está, instálela para su sistema operativo:

  • Linux – use el gestor de paquetes, p. ej. sudo apt install openssl (Debian/Ubuntu), sudo dnf install openssl (Fedora/RHEL) o sudo pacman -S openssl (Arch).

  • macOSbrew install openssl usando Homebrew.

  • Windows – instale una compilación como Win32/Win64 OpenSSL, use un gestor de paquetes (winget install ShiningLight.OpenSSL.Light o choco install openssl), o use el openssl que viene con Git for Windows (ejecútelo desde Git Bash).

14.4.2.2. Configuración del reloj

ssl.CERT_REQUIRED comprueba el periodo de validez de cada certificado, por lo que el reloj de la cámara debe ser correcto o la verificación falla (una cámara recién encendida no tiene idea de qué hora es). Con una conexión de red operativa, el módulo ntptime obtiene la hora por NTP y configura el RTC integrado (machine.RTC), en UTC:

import ntptime

ntptime.settime()                 # query NTP and set machine.RTC (UTC)

Tras esto, time.localtime() y machine.RTC reflejan la hora UTC actual. Levantar la interfaz de red depende de la placa y no se muestra aquí; los ejemplos de las páginas siguientes asumen que la cámara ya está conectada.