14.4.2. Điều kiện tiên quyết: OpenSSL và đồng hồ¶
Hai yếu tố phải được chuẩn bị trước khi bất kỳ trang thực hành nào có thể hoạt động: công cụ dòng lệnh OpenSSL trên máy phát triển của bạn, và đồng hồ chính xác trên camera tại thời điểm mỗi lần bắt tay TLS.
14.4.2.1. Cài đặt OpenSSL¶
Các lệnh trong phần này sử dụng công cụ dòng lệnh openssl, chạy trên máy phát triển của bạn -- không phải trên camera. Nó thường đã được cài đặt sẵn; kiểm tra bằng:
openssl version
Nếu nó bị thiếu, hãy cài đặt cho hệ điều hành của bạn:
Linux -- sử dụng trình quản lý gói, ví dụ:
sudo apt install openssl(Debian/Ubuntu),sudo dnf install openssl(Fedora/RHEL) hoặcsudo pacman -S openssl(Arch).macOS --
brew install opensslsử dụng Homebrew.Windows -- cài đặt bản dựng như Win32/Win64 OpenSSL, sử dụng trình quản lý gói (
winget install ShiningLight.OpenSSL.Lighthoặcchoco install openssl), hoặc sử dụngopensslđi kèm với Git for Windows (chạy từ Git Bash).
14.4.2.2. Đặt đồng hồ¶
ssl.CERT_REQUIRED kiểm tra khoảng thời gian hiệu lực của mỗi chứng chỉ, vì vậy đồng hồ của camera phải chính xác, nếu không xác minh sẽ thất bại (camera vừa được bật nguồn không biết giờ hiện tại là bao nhiêu). Với kết nối mạng hoạt động, module ntptime lấy thời gian qua NTP và đặt RTC trên board (machine.RTC), theo giờ UTC:
import ntptime
ntptime.settime() # query NTP and set machine.RTC (UTC)
Sau đó, time.localtime() và machine.RTC phản ánh thời gian UTC hiện tại. Việc đưa giao diện mạng lên là đặc thù theo board và không được hiển thị ở đây; các ví dụ trên các trang tiếp theo giả định camera đã được kết nối.