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) nebosudo pacman -S openssl(Arch).macOS –
brew install opensslpomocí Homebrew.Windows – nainstalujte build jako Win32/Win64 OpenSSL, použijte správce balíčků (
winget install ShiningLight.OpenSSL.Lightnebochoco install openssl), nebo použijteopenssl, 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.