14.4.2. Pré-requisitos: OpenSSL e o relógio¶
Dois elementos têm de estar em vigor antes que qualquer uma das páginas práticas funcione: a ferramenta de linha de comandos OpenSSL na sua máquina de desenvolvimento, e um relógio correto na câmara no momento de cada handshake TLS.
14.4.2.1. Instalar o OpenSSL¶
Os comandos nesta secção utilizam a ferramenta de linha de comandos openssl, executada na sua máquina de desenvolvimento – não na câmara. Muitas vezes já está instalado; verifique com:
openssl version
Se estiver em falta, instale-o para o seu sistema operativo:
Linux – use o gestor de pacotes, p.ex.
sudo apt install openssl(Debian/Ubuntu),sudo dnf install openssl(Fedora/RHEL) ousudo pacman -S openssl(Arch).macOS –
brew install opensslusando Homebrew.Windows – instale uma compilação como Win32/Win64 OpenSSL, use um gestor de pacotes (
winget install ShiningLight.OpenSSL.Lightouchoco install openssl), ou use oopensslfornecido com Git for Windows (execute-o a partir do Git Bash).
14.4.2.2. Definir o relógio¶
ssl.CERT_REQUIRED verifica o período de validade de cada certificado, pelo que o relógio da câmara tem de estar correto ou a verificação falha (uma câmara ligada pela primeira vez não sabe que horas são). Com uma ligação de rede funcional, o módulo ntptime obtém a hora via NTP e define o RTC interno (machine.RTC), em UTC:
import ntptime
ntptime.settime() # query NTP and set machine.RTC (UTC)
Depois disto, time.localtime() e machine.RTC refletem a hora UTC atual. Ativar a interface de rede é específico da placa e não é mostrado aqui; os exemplos nas páginas seguintes assumem que a câmara já está ligada.