14.4.2. Ön koşullar: OpenSSL ve saat

Uygulamalı sayfaların herhangi biri çalışmadan önce iki parçanın yerinde olması gerekir: geliştirme makinenizdeki OpenSSL komut satırı aracı ve her TLS el sıkışması anında kameradaki doğru bir saat.

14.4.2.1. OpenSSL kurulumu

Bu bölümdeki komutlar, kamerada değil, geliştirme makinenizde çalıştırılan openssl komut satırı aracını kullanır. Genellikle zaten kuruludur; şununla kontrol edin:

openssl version

Eksikse, işletim sisteminiz için kurun:

  • Linux – paket yöneticisini kullanın, örn. sudo apt install openssl (Debian/Ubuntu), sudo dnf install openssl (Fedora/RHEL) veya sudo pacman -S openssl (Arch).

  • macOSHomebrew kullanarak brew install openssl.

  • WindowsWin32/Win64 OpenSSL gibi bir derleme kurun, bir paket yöneticisi kullanın (winget install ShiningLight.OpenSSL.Light veya choco install openssl) ya da Git for Windows ile gelen openssl aracını kullanın (Git Bash’ten çalıştırın).

14.4.2.2. Saatin ayarlanması

ssl.CERT_REQUIRED her sertifikanın geçerlilik süresini kontrol eder, bu nedenle kameranın saati doğru olmalıdır, aksi takdirde doğrulama başarısız olur (yeni açılmış bir kameranın saatin kaç olduğu hakkında hiçbir fikri yoktur). Çalışan bir ağ bağlantısıyla, ntptime modülü zamanı NTP üzerinden alır ve kart üzerindeki RTC’yi (machine.RTC) UTC olarak ayarlar:

import ntptime

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

Bundan sonra, time.localtime() ve machine.RTC geçerli UTC zamanını yansıtır. Ağ arayüzünü etkinleştirmek karta özgüdür ve burada gösterilmemiştir; sonraki sayfalardaki örnekler kameranın zaten bağlı olduğunu varsayar.