ImageGrabber - Selfsign SSL

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?

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?

Doch natürlich, jedoch ignoriert Symcon das :upside_down_face:

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

Symcon verwendet seinen eigenen Zertifikatsspeicher in /usr/share/symcon/cacert.pem

@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

Ich war bisher der Meinung das alle Komponenten/Module den Symcon Zertifikatsspeicher nutzen müssen

Das ist definitiv ein missing Feature, da man sonst immer und überall die Zertifikatsprüfung deaktivieren kann. Bauen wir zur 7.2 zeitnah ein :slight_smile:

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?