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ă.