14.4.2. Prérequis : OpenSSL et l’horloge

Deux éléments doivent être en place avant que les pages pratiques ne fonctionnent : l’outil en ligne de commande OpenSSL sur votre machine de développement, et une horloge correcte sur la caméra au moment de chaque négociation TLS.

14.4.2.1. Installer OpenSSL

Les commandes de cette section utilisent l’outil en ligne de commande openssl, exécuté sur votre machine de développement – et non sur la caméra. Il est souvent déjà installé ; vérifiez avec:

openssl version

S’il est absent, installez-le pour votre système d’exploitation :

  • Linux – utilisez le gestionnaire de paquets, par exemple sudo apt install openssl (Debian/Ubuntu), sudo dnf install openssl (Fedora/RHEL) ou sudo pacman -S openssl (Arch).

  • macOSbrew install openssl à l’aide de Homebrew.

  • Windows – installez une version telle que Win32/Win64 OpenSSL, utilisez un gestionnaire de paquets (winget install ShiningLight.OpenSSL.Light ou choco install openssl), ou utilisez l”openssl fourni avec Git for Windows (exécutez-le depuis Git Bash).

14.4.2.2. Régler l’horloge

ssl.CERT_REQUIRED vérifie la période de validité de chaque certificat, l’horloge de la caméra doit donc être correcte sinon la vérification échoue (une caméra qui vient d’être mise sous tension n’a aucune idée de l’heure qu’il est). Avec une connexion réseau fonctionnelle, le module ntptime récupère l’heure via NTP et règle la RTC embarquée (machine.RTC), en UTC:

import ntptime

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

Après cela, time.localtime() et machine.RTC reflètent l’heure UTC actuelle. L’activation de l’interface réseau dépend de la carte et n’est pas montrée ici ; les exemples des pages suivantes supposent que la caméra est déjà connectée.