- Mitglied seit
- 13. Sep 2012
- Beiträge
- 113
- Punkte für Reaktionen
- 9
- Punkte
- 18
Ich verwende eine eigene CA für die Services, die nur ich nutze, die aber auch intern und extern sichtbar sind, z.B. Mail.
Ich habe mein root CA Zertifikat in den trust stores von macOS und iOS hinterlegt UND GETRUSTED, denn das rootca cert ist self-signed. Die rootca hat nur andere Zertifikate signiert für Sub-CAs, z.B. eins für Server-Zertifikate (serverca).
Die Sub-CA-Zertifikate habe ich ebenfalls in den trust stores von macOS und iOS hinterlegt, aber NICHT GETRUSTET, denn sie sind ja über das getrustete rootca Zertifikate signiert.
Nun habe ich natürlich etliche server, aber wir greifen mal eine Synology DSM heraus. Es gibt einige externe Dynamic DNS (DDNS) domain names, die auf meine dynamische IPv4 verweisen, und ein paar Ports werden von der Firewall auf diesen Server geforwarded. Greifen wir mal SMTP und IMAP heraus (postfix, dovecot vom DSM Mail Server)
Das Server-Zertifikat ist von der serverca signiert, wird aber nicht in den Trust Stores hinterlegt, da es ja über die hinterlegten Zertifikate severca und rootca verifiziert werden kann. Der Server hat auch noch Intermediate-Zertifikate, die ausgeliefert werden können, da sind eben die Zertifikate für serverca und rootca drinnen. Für das Intermediate-Zertifikat-File habe ich beide Reihenfolgen (serverca rootca, bzw rootca serverca) ausprobiert, das löst aber mein Problem nicht. Ich habe auch versucht, für Dovecot eine Kette von server, serverca, rootca als Zertifikat zu hinterlegen und das Intermediate Zertifikat wegzulassen.
Das Server-Zertifikate hat etliche SANs, um alle Namen für die Funktionen des Servers zu erfassen.
KEINE Probleme gibt es unter macOS. Apple Mail akzeptiert das alles.
Auf iOS funktioniert es leider nicht mit dem Apple Mail App, es meckert, dass die Identität des Servers (konkret der als IMAP Server eingetragene FQDN nicht verifiziert werden kann, obwohl dieser Name ist in den SAN des Zertifikats gelistet ist.
Ich habe auch SMTP Port 587 und IMAP Port 993 per testssl.sh überprüft. Dort wird lediglich bemängelt, dass es in der Zertifikatskette ein self-signed Zertifikat gibt. Das ist klar, das ist das rootca cert. Dieses is jedoch bei iOS im Trust Store explizit als root cert von mir getrustet worden, so dass unter iOS dazu kein Fehler auftreten sollte, vorausgesetzt die Apps nutzen das iOS API. Das Apple Mail benutzt das API 100% garantiert.
Wichtige Information ist noch, dass ich früher mal Lets Encrypt Zertifikate verwendet habe. Mit denen funktioniert das alles! Da ist aber das root cert aber sowieso schon ab Werk vorinstalliert.
Ich möchte jedoch von Lets Encrypt wegkommen und dieses nur für Services verwenden, die auch von anderen genutzt werden dürfen. (ich weiss, dies gilt zB für den Mailempfang mit postfix, dies waren ja auch nur Beispiele)
Hat jemand eine Idee, was hier das Problem im Zusammenspiel mit iOS ist?
Ich habe mein root CA Zertifikat in den trust stores von macOS und iOS hinterlegt UND GETRUSTED, denn das rootca cert ist self-signed. Die rootca hat nur andere Zertifikate signiert für Sub-CAs, z.B. eins für Server-Zertifikate (serverca).
Die Sub-CA-Zertifikate habe ich ebenfalls in den trust stores von macOS und iOS hinterlegt, aber NICHT GETRUSTET, denn sie sind ja über das getrustete rootca Zertifikate signiert.
Nun habe ich natürlich etliche server, aber wir greifen mal eine Synology DSM heraus. Es gibt einige externe Dynamic DNS (DDNS) domain names, die auf meine dynamische IPv4 verweisen, und ein paar Ports werden von der Firewall auf diesen Server geforwarded. Greifen wir mal SMTP und IMAP heraus (postfix, dovecot vom DSM Mail Server)
Das Server-Zertifikat ist von der serverca signiert, wird aber nicht in den Trust Stores hinterlegt, da es ja über die hinterlegten Zertifikate severca und rootca verifiziert werden kann. Der Server hat auch noch Intermediate-Zertifikate, die ausgeliefert werden können, da sind eben die Zertifikate für serverca und rootca drinnen. Für das Intermediate-Zertifikat-File habe ich beide Reihenfolgen (serverca rootca, bzw rootca serverca) ausprobiert, das löst aber mein Problem nicht. Ich habe auch versucht, für Dovecot eine Kette von server, serverca, rootca als Zertifikat zu hinterlegen und das Intermediate Zertifikat wegzulassen.
Das Server-Zertifikate hat etliche SANs, um alle Namen für die Funktionen des Servers zu erfassen.
KEINE Probleme gibt es unter macOS. Apple Mail akzeptiert das alles.
Auf iOS funktioniert es leider nicht mit dem Apple Mail App, es meckert, dass die Identität des Servers (konkret der als IMAP Server eingetragene FQDN nicht verifiziert werden kann, obwohl dieser Name ist in den SAN des Zertifikats gelistet ist.
Ich habe auch SMTP Port 587 und IMAP Port 993 per testssl.sh überprüft. Dort wird lediglich bemängelt, dass es in der Zertifikatskette ein self-signed Zertifikat gibt. Das ist klar, das ist das rootca cert. Dieses is jedoch bei iOS im Trust Store explizit als root cert von mir getrustet worden, so dass unter iOS dazu kein Fehler auftreten sollte, vorausgesetzt die Apps nutzen das iOS API. Das Apple Mail benutzt das API 100% garantiert.
Wichtige Information ist noch, dass ich früher mal Lets Encrypt Zertifikate verwendet habe. Mit denen funktioniert das alles! Da ist aber das root cert aber sowieso schon ab Werk vorinstalliert.
Ich möchte jedoch von Lets Encrypt wegkommen und dieses nur für Services verwenden, die auch von anderen genutzt werden dürfen. (ich weiss, dies gilt zB für den Mailempfang mit postfix, dies waren ja auch nur Beispiele)
Hat jemand eine Idee, was hier das Problem im Zusammenspiel mit iOS ist?
Zuletzt bearbeitet: