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.