Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

Yanıt: Laboratuvar Pi 3 üzerinde paho-mqtt, 'certificate is not yet valid' hatasıyla TLS el sıkışmasında başarısız oluyor

Yapay zekâ tarafından English dilinden çevrildi ·

Demek ki sorun bu. Pi 3’te gerçek bir gerçek zamanlı saat (RTC) yok. Açılışta, son düzgün kapatmada kaydettiği zamanı geri yüklüyor (fake-hwclock) ve sonra NTP’yi bekliyor. Laboratuvar ağınız NTP’yi (UDP 123) engelliyor, bu yüzden saat geçmişte kalıyor ve TLS kütüphanesi açısından sunucu sertifikası henüz geçerli değil. Kilitli güvenlik duvarlarının arkasındaki sahadaki Pi’lerin yarısında bunu gördüm.Çözümler, birini seçin:

# 1. BT biriminden dahili NTP sunucusunu isteyin ve kullanın
sudo nano /etc/systemd/timesyncd.conf
  [Time]
  NTP=ntp.your-lab.example
sudo systemctl restart systemd-timesyncd
timedatectl   # "System clock synchronized: yes"

# 2. yalnızca 443 açıksa: HTTPS başlıklarından senkronize edin
sudo apt install htpdate
sudo htpdate -s https://www.example.org

Sabit kodlanmış IP’yi kaldırın. Broker SNI gerektirir, bu yüzden ana bilgisayar adıyla bağlanın; sertifika zaten bu ada göre kontrol edilir, uyuşmazlığın nedeni de budur. Sistem CA paketiyle düz client.tls_set() kullanmak uygundur; Tyler, belirteç ile girişlerde istemci sertifikası gerekmez, sunucu bir tane ister ama zorunlu tutmaz.Ayrıca betiğin bağlanmadan önce senkronize bir saati beklemesini sağlayın, aksi halde laboratuvarda bir yeniden başlatma sorunu yeniden oluşturur. timedatectl show -p NTPSynchronized üzerinde kısa bir döngü işe yarar. Ayrıntılar için MQTT sayfasının TLS bölümüne bakın.

If it isn't logged, it didn't happen.
Kabul edilen çözüm♥ 5