14.4.2. Předpoklady: OpenSSL a hodiny

Dvě věci musí být na svém místě, než budou fungovat kterékoli z praktických stránek: nástroj příkazové řádky OpenSSL na vašem vývojovém počítači a správné hodiny na kameře v okamžiku každého TLS handshaku.

14.4.2.1. Instalace OpenSSL

Příkazy v této sekci používají nástroj příkazové řádky openssl, spouštěný na vašem vývojovém počítači – nikoli na kameře. Často je již nainstalován; zkontrolujte to pomocí:

openssl version

Pokud chybí, nainstalujte jej pro váš operační systém:

  • Linux – použijte správce balíčků, např. sudo apt install openssl (Debian/Ubuntu), sudo dnf install openssl (Fedora/RHEL) nebo sudo pacman -S openssl (Arch).

  • macOSbrew install openssl pomocí Homebrew.

  • Windows – nainstalujte build jako Win32/Win64 OpenSSL, použijte správce balíčků (winget install ShiningLight.OpenSSL.Light nebo choco install openssl), nebo použijte openssl, který je dodáván s Git for Windows (spusťte jej z Git Bash).

14.4.2.2. Nastavení hodin

ssl.CERT_REQUIRED kontroluje platnostní období každého certifikátu, takže hodiny kamery musí být správné, jinak ověření selže (čerstvě zapnutá kamera netuší, kolik je hodin). S funkčním síťovým připojením modul ntptime načte čas přes NTP a nastaví vestavěné RTC (machine.RTC), v UTC:

import ntptime

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

Poté time.localtime() a machine.RTC odrážejí aktuální čas UTC. Uvedení síťového rozhraní do provozu je specifické pro danou desku a zde není ukázáno; příklady na následujících stránkách předpokládají, že kamera je již připojena.