Zertifikate mit eigener CA signiert -- funktioniert nicht auf IOS

Begonnen von Gast45, 29 September 2019, 17:01:15

Vorheriges Thema - Nächstes Thema

Gast45

Hallo zusammen,

ich habe FHEM mit Zertifikaten abgesichert. Ich habe dafür im wesentlichen die Anleitung auf https://wiki.fhem.de/wiki/FHEM_mit_HTTPS_SSL-Zertifikat_und_eine_eigene_Zertifizierungsstelle benutzt.

Im Schnelldurchlauf:

  • Schlüssel erstellen
  • Request erstellen
Ab hier weiche ich von den Anweisungen ab. Ich habe bereits eine private CA, die ich über XCA verwalte. Deshalb habe ich den Request in XCA signiert. Danach weiter wie folgt:

  • Server-Zertifikat in FHEM integriert
  • CA-Zertifikat im PC-Browser installiert und Vertrauen ausgesprochen
  • CA-Zertifikat im IOS installiert und Vertrauen ausgesprochen
Jetzt kommt das Problem. Während auf dem PC alles top funktioniert, bekomme ich auf dem iPad immer "Diese Verbindung ist nicht privat" und im Zertifikat steht "Nicht vertrauenswürdig".

Kennt jemand das Problem? Gibt es Parameter, die man für IOS zwingend in der CA oder in den Server-Zertifikaten verwenden muss? Ein Grundsätzliches Problem habe ich ja eher nicht, denn auf dem PC funktioniert es.
Meist liegt der Fehler vor der Tastatur

Gast45

Für alle, die das gleiche Problem haben. Ich hatte vorhin schon viel gesucht und auch nach der Post-Erstellung noch weiter. Jetzt habe ich das Problem gefunden. Wichtig sind die Verschärfungen im IOS gemäß diesem Link:
https://support.apple.com/de-de/HT210176

Da ich eine Gültigkeit von mehr als 825 Tagen haben wollte und auch keine Idee habe, was mit
ZitatTLS-Serverzertifikate müssen eine ExtendedKeyUsage (EKU)-Erweiterung enthalten, die die "id-kp-serverAuth OID" enthält.
genau gemeint ist  :(, habe ich als Workaround einfach die Gültigkeit vor dem 1.7.19 starten lassen  ;D

Und siehe da, es geht  ;D

Falls jemand weiß, wie man mit der "id-kp-serverAuth OID" bei FHEM umgehen soll/muss, bin ich für Tipps dankbar.
Meist liegt der Fehler vor der Tastatur

Gast45

Muss man nur irgendwie die OjectId 1.3.6.1.5.5.7.3.1 also
{iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) kp(3) id-kp-serverAuth(1)} im Zertifikat unterbringen? Wofür soll das gut sein?

Meist liegt der Fehler vor der Tastatur

rudolfkoenig

Nur als Info: Ich bin dankbar dafuer, dass Du deine Recherche hier dokumentierst.

dersimn

Zitat von: Gast45 am 30 September 2019, 17:44:06
Muss man nur irgendwie die OjectId 1.3.6.1.5.5.7.3.1 also
{iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) kp(3) id-kp-serverAuth(1)} im Zertifikat unterbringen? Wofür soll das gut sein?

Du kannst das z.B. umgehen indem du direkt eine Ausnahme für dein Server-Zertifikat erstellst, aktuell hast du eine Ausnahme für dein Root CA laufen, daher muss ein davon abgeleitetes (Server-)Zertifikat eben auch alle Regeln eines Zertifikats aus der echten Welt erfüllen (konkret diese hier: https://support.apple.com/en-us/HT210176).

Warum die strenger geworden sind kann ich dir nicht erklären, aber irgendein IT Sicherheitsexperte hat sich schon was dabei gedacht.

Wahrscheinlich geht es auf deinem PC, weil du dort noch ein älteres macOS als 10.15 laufen hast und auf deinem Smartphone halt irgendwas ≥iOS 13 ?

Ich hab' meine Zertifikate hiermit erstellt (basierend auf diesem Tutorial), dort wird das von dieser Zeile erledigt. Vielleicht kannst du das ja auf dein XCA Tool übertragen.

Decki

Hallo zusammen,

kenne das Problem aus meinem Berufsleben.

Bis IOS 13.5 darf das Zertifikat länger als 2 Jahre gültig sein.
Ab IOS 13.7 nur noch 2 Jahre oder weniger.
Ab IOS 14 nur noch ein Jahr !!!!!

Dazu kommt, daß TLS 1.0 nicht mehr (auch nicht als Option) im Zertifikat einhalten sein darf .
Gruß Andi
Raspi 2 im Schaltschrank, USB IR Lesekopf am EHz21, Gaszähler mit Reedkontakt, Jeelink,  16 FS20 Aktoren,  3 Ufos für LED, 11 FS20 Rolladenaktore, AMAD 4.0 mit Sprachausgabe, Esp12 mit EspEasy