14.4.2. Prasyarat: OpenSSL dan jam

Dua hal harus ada sebelum halaman praktis apa pun akan berfungsi: alat baris perintah OpenSSL di mesin pengembangan Anda, dan jam yang benar pada kamera pada saat setiap handshake TLS.

14.4.2.1. Menginstal OpenSSL

Perintah-perintah dalam bagian ini menggunakan alat baris perintah openssl, dijalankan di mesin pengembangan Anda -- bukan di kamera. Alat ini sering sudah terinstal; periksa dengan:

openssl version

Jika belum ada, instal untuk sistem operasi Anda:

  • Linux -- gunakan manajer paket, misalnya sudo apt install openssl (Debian/Ubuntu), sudo dnf install openssl (Fedora/RHEL) atau sudo pacman -S openssl (Arch).

  • macOS -- brew install openssl menggunakan Homebrew.

  • Windows -- instal build seperti Win32/Win64 OpenSSL, gunakan manajer paket (winget install ShiningLight.OpenSSL.Light atau choco install openssl), atau gunakan openssl yang disertakan dengan Git for Windows (jalankan dari Git Bash).

14.4.2.2. Mengatur jam

ssl.CERT_REQUIRED memeriksa periode validitas setiap sertifikat, sehingga jam kamera harus benar atau verifikasi gagal (kamera yang baru dinyalakan tidak mengetahui waktu saat ini). Dengan koneksi jaringan yang berfungsi, modul ntptime mengambil waktu melalui NTP dan mengatur RTC on-board (machine.RTC), dalam UTC:

import ntptime

ntptime.settime()                 # query NTP and set machine.RTC (UTC)

Setelah ini, time.localtime() dan machine.RTC mencerminkan waktu UTC saat ini. Membawa antarmuka jaringan ke atas bersifat spesifik untuk setiap board dan tidak ditampilkan di sini; contoh-contoh pada halaman berikutnya mengasumsikan kamera sudah terhubung.