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) ousudo pacman -S openssl(Arch).macOS –
brew install opensslà l’aide de Homebrew.Windows – installez une version telle que Win32/Win64 OpenSSL, utilisez un gestionnaire de paquets (
winget install ShiningLight.OpenSSL.Lightouchoco install openssl), ou utilisez l”opensslfourni 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.