14.4.2. דרישות מקדימות: OpenSSL והשעון¶
שני רכיבים חייבים להיות במקומם לפני שאחד מהדפים המעשיים יעבוד: כלי שורת הפקודה OpenSSL על מכונת הפיתוח שלך, ושעון נכון על המצלמה ברגע כל לחיצת יד של TLS.
14.4.2.1. התקנת OpenSSL¶
הפקודות בסעיף זה משתמשות בכלי שורת הפקודה openssl, שרץ על מכונת הפיתוח שלך – לא על המצלמה. לעיתים קרובות הוא כבר מותקן; בדוק עם:
openssl version
אם הוא חסר, התקן אותו עבור מערכת ההפעלה שלך:
Linux – השתמש במנהל החבילות, למשל
sudo apt install openssl(Debian/Ubuntu),sudo dnf install openssl(Fedora/RHEL) אוsudo pacman -S openssl(Arch).macOS –
brew install opensslבאמצעות Homebrew.Windows – התקן בנייה כגון Win32/Win64 OpenSSL, השתמש במנהל חבילות (
winget install ShiningLight.OpenSSL.Lightאוchoco install openssl), או השתמש ב-opensslשמגיע עם Git for Windows (הרץ אותו מ-Git Bash).
14.4.2.2. כיוון השעון¶
ssl.CERT_REQUIRED בודק את תקופת התוקף של כל תעודה, ולכן השעון של המצלמה חייב להיות נכון אחרת האימות נכשל (מצלמה שזה עתה הופעלה אינה יודעת מה השעה). עם חיבור רשת תקין, המודול ntptime מביא את הזמן דרך NTP ומכוון את ה-RTC המובנה (machine.RTC), ב-UTC:
import ntptime
ntptime.settime() # query NTP and set machine.RTC (UTC)
לאחר מכן, time.localtime() ו-machine.RTC משקפים את זמן ה-UTC הנוכחי. העלאת ממשק הרשת תלוית-לוח ואינה מוצגת כאן; הדוגמאות בדפים הבאים מניחות שהמצלמה כבר מחוברת.