14.4.2. Cerințe preliminare: OpenSSL și ceasul#
Două elemente trebuie să fie pregătite înainte ca oricare dintre paginile practice să funcționeze: instrumentul de linie de comandă OpenSSL pe mașina dumneavoastră de dezvoltare și un ceas corect pe cameră în momentul fiecărui handshake TLS.
14.4.2.1. Instalarea OpenSSL#
Comenzile din această secțiune folosesc instrumentul de linie de comandă openssl, rulat pe mașina dumneavoastră de dezvoltare – nu pe cameră. Adesea este deja instalat; verificați cu:
openssl version
Dacă lipsește, instalați-l pentru sistemul dumneavoastră de operare:
Linux – folosiți managerul de pachete, de ex.
sudo apt install openssl(Debian/Ubuntu),sudo dnf install openssl(Fedora/RHEL) sausudo pacman -S openssl(Arch).macOS –
brew install opensslfolosind Homebrew.Windows – instalați o versiune precum Win32/Win64 OpenSSL, folosiți un manager de pachete (
winget install ShiningLight.OpenSSL.Lightsauchoco install openssl) ori folosițiopensslcare vine cu Git for Windows (rulați-l din Git Bash).
14.4.2.2. Setarea ceasului#
ssl.CERT_REQUIRED verifică perioada de valabilitate a fiecărui certificat, așa că ceasul camerei trebuie să fie corect, altfel verificarea eșuează (o cameră tocmai pornită nu are idee cât e ceasul). Cu o conexiune de rețea funcțională, modulul ntptime preia ora prin NTP și setează RTC-ul de pe placă (machine.RTC), în UTC:
import ntptime
ntptime.settime() # query NTP and set machine.RTC (UTC)
După aceasta, time.localtime() și machine.RTC reflectă ora UTC curentă. Activarea interfeței de rețea depinde de placă și nu este prezentată aici; exemplele din paginile următoare presupun că respectiva cameră este deja conectată.