14.4.2. Förutsättningar: OpenSSL och klockan¶
Två saker måste vara på plats innan någon av de praktiska sidorna fungerar: kommandoradsverktyget OpenSSL på din utvecklingsmaskin, och en korrekt klocka på kameran vid tidpunkten för varje TLS-handskakning.
14.4.2.1. Installera OpenSSL¶
Kommandona i det här avsnittet använder kommandoradsverktyget openssl, som körs på din utvecklingsmaskin – inte på kameran. Det är ofta redan installerat; kontrollera med:
openssl version
Om det saknas, installera det för ditt operativsystem:
Linux – använd pakethanteraren, t.ex.
sudo apt install openssl(Debian/Ubuntu),sudo dnf install openssl(Fedora/RHEL) ellersudo pacman -S openssl(Arch).macOS –
brew install opensslmed Homebrew.Windows – installera en build såsom Win32/Win64 OpenSSL, använd en pakethanterare (
winget install ShiningLight.OpenSSL.Lightellerchoco install openssl), eller använd detopensslsom följer med Git for Windows (kör det från Git Bash).
14.4.2.2. Ställa in klockan¶
ssl.CERT_REQUIRED kontrollerar varje certifikats giltighetsperiod, så kamerans klocka måste vara korrekt annars misslyckas verifieringen (en nyss uppstartad kamera har ingen aning om vad klockan är). Med en fungerande nätverksanslutning hämtar modulen ntptime tiden via NTP och ställer in den inbyggda RTC:n (machine.RTC), i UTC:
import ntptime
ntptime.settime() # query NTP and set machine.RTC (UTC)
Efter detta återspeglar time.localtime() och machine.RTC den aktuella UTC-tiden. Att starta upp nätverksgränssnittet är kortspecifikt och visas inte här; exemplen på de följande sidorna förutsätter att kameran redan är ansluten.