SimonS
13. April 2024 um 19:21
1
Hallo,
leider kann ImageGrabber nicht auf URLs die mit einem selbstsignierten Zertifikat ausgestattet sind zugreifen.
Meldung:
SSL peer certificate or SSH remote key was not OK: SSL certificate problem: self-signed certificate in certificate chain in /- on line 3
Könnte man hier bitte einen Schalter wie bei Sys_GetURLContentEx einbauen, der das unbekannte SSL-Zertifikat akzeptiert?
SimonS
13. April 2024 um 19:49
2
Ich behelfe mir derweil mit einem Script das Sys_GetUrlContentEx verwendet, ImageGrabber wäre natürlich einfacher…
$LokalesBild = IPS_GetKernelDir()."/media/haustuer.jpg";
$Content = Sys_GetURLContentEx("https://ic.domain.net/image/cam5", Array("AuthUser"=> "myuser", "AuthPass"=> "mypass", "VerifyPeer"=> false, "VerifyHost"=> false));
// Bild in Datei speichern
file_put_contents($LokalesBild, $Content);
//Einmaliger Aufruf zum erstellen eines Mediaobjects
#$MediaID = IPS_CreateMedia(1); // Image im MedienPool anlegen
#IPS_SetMediaFile($MediaID, $LokalesBild, true); // Image im MedienPool mit Image-Datei verbinden
#IPS_SetName($MediaID, "Haustuer"); // Medienobjekt benennen
#IPS_SetParent($MediaID, 21485); // Medienobjekt einsortieren
Kannst du das Zertifikat nicht im Betriebssystemspeicher hinterlegen, aus dem Symcon sich die Infos holt?
SimonS
14. April 2024 um 06:27
4
Doch natürlich, jedoch ignoriert Symcon das
Auf all meinen Debian Linux Hosts werden per Ansible die Zertifikate verteilt, bzw. die eigene Root-CA bekannt gemacht:
- name: Ensure local certs directory exists
file: state=directory path=/usr/local/share/ca-certificates/
- name: Download domain-CA
get_url:
url: http://ca.domain.net/certs/domain_CA.crt
dest: /usr/local/share/ca-certificates/domain_CA.crt
- name: Download domain-Cert
get_url:
url: http://ca.domain.net/certs/_.domain.net.crt
dest: /etc/ssl/private/_.domain.net.crt
- name: Download domain-Key
get_url:
url: http://ca.domain.net/certs/_.domain.net.key
dest: /etc/ssl/private/_.domain.net.key
- name: Download domain-Bundle
get_url:
url: http://ca.domain.net/certs/_.domain.net.bundle
dest: /etc/ssl/private/_.domain.net.bundle
- name: Update cert index
shell: /usr/sbin/update-ca-certificates
tommi
14. April 2024 um 15:17
5
Symcon verwendet seinen eigenen Zertifikatsspeicher in /usr/share/symcon/cacert.pem
SimonS
14. April 2024 um 15:41
6
@tommi
Ich denke du denkst an das Zertifikat für das Symcon Webinterface selbst?
Es geht jedoch um die Er- bzw. Anerkennung eines selbst ausgestellen Zertifikates einer anderen URL (auf die das Modul „Image Graber“ zugreift).
Oder bin ich nun falsch? kopfkratz
tommi
14. April 2024 um 16:37
7
Ich war bisher der Meinung das alle Komponenten/Module den Symcon Zertifikatsspeicher nutzen müssen
paresy
15. April 2024 um 00:19
8
Das ist definitiv ein missing Feature, da man sonst immer und überall die Zertifikatsprüfung deaktivieren kann. Bauen wir zur 7.2 zeitnah ein
paresy
@paresy wie kann man denn andersherum die eigenen Zertifikate korrekt für alle Symcon-Komponenten bekannt machen? Könnt ihr das - falls nicht vorhanden - in die Doku aufnehmen?