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) osudo pacman -S openssl(Arch).macOS –
brew install opensslusando Homebrew.Windows – instale una compilación como Win32/Win64 OpenSSL, use un gestor de paquetes (
winget install ShiningLight.OpenSSL.Lightochoco install openssl), o use elopensslque 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.