14.4.2. Prerequisiti: OpenSSL e l’orologio¶
Due elementi devono essere predisposti prima che una qualsiasi delle pagine pratiche possa funzionare: lo strumento da riga di comando OpenSSL sulla tua macchina di sviluppo e un orologio corretto sulla camera al momento di ogni handshake TLS.
14.4.2.1. Installare OpenSSL¶
I comandi in questa sezione usano lo strumento da riga di comando openssl, eseguito sulla tua macchina di sviluppo – non sulla camera. Spesso è già installato; verificalo con:
openssl version
Se manca, installalo per il tuo sistema operativo:
Linux – usa il gestore di pacchetti, ad esempio
sudo apt install openssl(Debian/Ubuntu),sudo dnf install openssl(Fedora/RHEL) osudo pacman -S openssl(Arch).macOS –
brew install opensslusando Homebrew.Windows – installa una build come Win32/Win64 OpenSSL, usa un gestore di pacchetti (
winget install ShiningLight.OpenSSL.Lightochoco install openssl), oppure usa l”opensslfornito con Git for Windows (eseguilo da Git Bash).
14.4.2.2. Impostare l’orologio¶
ssl.CERT_REQUIRED controlla il periodo di validità di ogni certificato, quindi l’orologio della camera deve essere corretto altrimenti la verifica fallisce (una camera appena accesa non ha idea di che ora sia). Con una connessione di rete funzionante, il modulo ntptime recupera l’ora tramite NTP e imposta l’RTC integrato (machine.RTC), in UTC:
import ntptime
ntptime.settime() # query NTP and set machine.RTC (UTC)
Dopodiché, time.localtime() e machine.RTC riflettono l’ora UTC corrente. L’attivazione dell’interfaccia di rete è specifica della scheda e non è mostrata qui; gli esempi nelle pagine seguenti presuppongono che la camera sia già connessa.