[iOS 13] Probleme mit S/MIME Zertifikaten

Worschtbrot28

Pferdeapfel
Registriert
12.10.16
Beiträge
79
Hallo zusammen,

ich habe mir ein neues S/MIME Zertifikat für meine private Emailadresse besorgt. Die CA ist anerkannt (GlobalSign) und das Zertifikat ist in den Einstellungen mit dem Grünen „überprüft“ Haken versehen. S/MIME ist in den Emaileinstellungen natürlich mit diesem Zertifikat aktiv.

So weit, so gut, allerdings klappt es trotzdem nicht so wie es soll...

Wenn ich mir eine signierte Email an meine berufliche Adresse schicke, kommt diese erst mal problemlos an. Antworte ich, wird die Mail über unser Gateway (Zertifikon) automatisch verschlüsselt. Leider lässt sich diese Mail am Iphone nicht öffnen. Es erscheint der Hinweis, man solle doch bitte die Verschlüsselungsidentität installieren... Hab ich ja 🤷🏼‍♂️

Das Zertifikat wurde direkt aus der P12 Datei der CA importiert und die Dateigrösse passt mit 4KB auch für zwei 2048er Keys. In der MacOS Schlüsselbundverwaltung wird der private Schlüssel auch angezeigt.

Interessant ist auch: Möchte ich mir nun direkt eine verschlüsselte Mail in die Firma schicken, wimmelt Mail mit dem Hinweis ab, dass für den Empfänger kein Zertifikat gefunden werden konnte. Das kann aber eigentlich nicht sein, da ich den öffentlichen Schlüssel (nebst Root- und Intermediatezertifikat unserer CA) händisch importiert habe und auch dieser den grünen Haken besitzt.

Hat jemand eine Idee, was hier schief gelaufen sein könnte?

iOS Version ist 13.6

Danke :)
 

Ijon Tichy

Schöner von Bath
Registriert
21.11.06
Beiträge
3.680
Hast du mal versucht, aus der Mail, die er anmeckert, das öffentliche Zertifikat zu importieren? Es klingt für mich so als ob ihm da die Verbindung zur E-Mail-Adresse des Absenders fehlt. Dadurch ist es notwendig, das Zertifikat aus der Email zu importieren, obwohl man es eigentlich schon installiert hat. Gemeint ist hier das Zertifikat des Absenders.

Leider ist es schwer aus der Entfernung zu sagen. Apple hat sich nicht mit Ruhm bekleckert, was die Benutzerfreundlichkeit ihrer S/MIME-Unterstützung angeht. Beispielsweise muss man ein abgelaufenes Zertifikat eines Kommunikationspartners erst sehr umständlich entfernen, bevor man die neue Version installieren kann. Bei der Installation von S/MIME-Profilen funktioniert seit der aktuellen iOS-Version die Verknüpfung mit dem Mailkonto bei mir auch nicht mehr zuverlässig, d.h. erst nach einigem Herumprobieren, ohne dass ich eine Regel entdecken konnte. :(
 
  • Like
Reaktionen: dg2rbf

Worschtbrot28

Pferdeapfel
Registriert
12.10.16
Beiträge
79
Das Zertifikat wird mir in der Email leider gar nich erst zur Installation angeboten.

Aufrufen kann ich es problemlos, aber da ist nirgendwo ein Install-Button .
 

Ijon Tichy

Schöner von Bath
Registriert
21.11.06
Beiträge
3.680
Kann aber nicht sein, dass du von dem Absender noch ein abgelaufenes Zertifikat gespeichert hast?

Hast du die Mail App mal zwangsbeendet und neu gestartet? Das bewirkt im Zusammenhang mit Zertifikaten auch manchmal kleine Wunder.

Ansonsten wird es schwierig. Ein paar Screenshots könnten vielleicht hilfreich sein. Um besser zu verstehen, was da vor sich geht und was du machst.
 
  • Like
Reaktionen: dg2rbf

Worschtbrot28

Pferdeapfel
Registriert
12.10.16
Beiträge
79
Nein, das Zertifikat ist brandneu und alle alten Zertifikate wurden vorher gelöscht.

Wenn ich mir mit der Firmenmail eine signierte Nachricht sende, und das öffentliche Zertifikat ist nicht installiert, bekomme ich nur das rote Fragezeichen zu sehen.

IMG_2489 3.jpg

Beim Klick auf den Absender gibt es keine Signaturinfos, sowie keine Möglichkeit das dazugehörige Zertifikat zu installieren.

IMG_2492.jpg

Das Zertifikat kann erst dann aus der Email installiert werden, wenn ich es über einen Gatewaybefehl explizit dranhänge. Dann wird auch aus dem roten Fragezeichen ein weisser Haken, und beim Klick auf den Selben werden Signaturinfos angezeigt.

IMG_2494.jpg

Möchte ich jetzt mit installierten Zertifikat eine verschlüsselte Email an meine Firmenadresse schicken, meckert Mail augenblicklich.

IMG_2491.jpg

So sieht es übrigens aus, wenn ich mir eine verschlüsselte Mail aus der Firma schicke:

IMG_2493 2.jpg

Ich kam auch schon auf den Gedanken, dass das Gateway, warum auch immer, ein altes Zertifikat von mir verwendet. Der Admin hat auch auf dem kurzen Dienstweg alle Zertifikate mit meiner privaten Adresse gelöscht - Leider ohne Erfolg.

P.S. Sowohl hartes Beenden der Mailapp als auch ein Neustart des Iphones haben an der Situation leider nichts geändert.
Auch ein Hinzufügen der Absenderemail zu den Kontakten half nichts :(
 

Anhänge

  • IMG_2489.jpg
    IMG_2489.jpg
    153,7 KB · Aufrufe: 10
  • IMG_2493.jpg
    IMG_2493.jpg
    232,8 KB · Aufrufe: 10

Ijon Tichy

Schöner von Bath
Registriert
21.11.06
Beiträge
3.680
Nein, das Zertifikat ist brandneu und alle alten Zertifikate wurden vorher gelöscht.

Wenn ich mir mit der Firmenmail eine signierte Nachricht sende, und das öffentliche Zertifikat ist nicht installiert, bekomme ich nur das rote Fragezeichen zu sehen.

Anhang anzeigen 167320

Beim Klick auf den Absender gibt es keine Signaturinfos, sowie keine Möglichkeit das dazugehörige Zertifikat zu installieren.

Anhang anzeigen 167316
Dann ist das öffentliche Zertifikat des Absenders wohl nicht dabei.

Eine signierte E-Mail muss nicht zwangsläufig ein Zertifikat enthalten, auch wenn das üblich, da sehr nützlich und praktisch ist.

Das Zertifikat kann erst dann aus der Email installiert werden, wenn ich es über einen Gatewaybefehl explizit dranhänge.
Das ist dann wiederum logisch.

Dann wird auch aus dem roten Fragezeichen ein weisser Haken, und beim Klick auf den Selben werden Signaturinfos angezeigt.

Anhang anzeigen 167317

So, und wenn du hier auf Zertifikat anzeigen klickt, müsstest du angeboten bekommen es zu installieren, oder? Hast du das getan? Das ist mir jetzt nicht klar.

Kannst du davon bitte auch einen Screenshot einstellen?


Möchte ich jetzt mit installierten Zertifikat eine verschlüsselte Email an meine Firmenadresse schicken, meckert Mail augenblicklich.

Anhang anzeigen 167318
Dann ist das öffentliche Zertifikat des Empfängers der E-Mail, die du senden möchtest, nicht gespeichert. Die E-Mail-Adresse muss natürlich auch genau mit der/den beim Zertifikat hinterlegten übereinstimmen.

So sieht es übrigens aus, wenn ich mir eine verschlüsselte Mail aus der Firma schicke:

Anhang anzeigen 167321
Hm, sieht so aus, als hätten wir hier zwei Probleme. Diese Meldung kommt, wenn dein eigenes privates Zertifikat
  • nicht installiert ist oder
  • nicht genau die E-Mail-Adresse enthält, an den diese E-Mail geschickt wurde oder
  • nicht dasselbe Zertifikat ist, das der Absender verwendet hat (ältere/neuere Version?)
Ich kam auch schon auf den Gedanken, dass das Gateway, warum auch immer, ein altes Zertifikat von mir verwendet. Der Admin hat auch auf dem kurzen Dienstweg alle Zertifikate mit meiner privaten Adresse gelöscht - Leider ohne Erfolg.

P.S. Sowohl hartes Beenden der Mailapp als auch ein Neustart des Iphones haben an der Situation leider nichts geändert.
Auch ein Hinzufügen der Absenderemail zu den Kontakten half nichts :(


Ich sehe gerade, dass du im ersten Post von der Schlüsselverwaltung auf dem Mac schreibst. Also hast du einen Mac, und da kannst du mit openssl mal ein paar Analysen durchführen. Dazu die E-Mail abspeichern, etwa wie in den Beispielen als email.eml.

Signierte E-mail analysieren

openssl smime -pk7out -in email.eml | openssl asn1parse

Im Output müssten wir nun genaue Hinweise auf das verwendete Zertifikat finden.

Nachricht entschlüsseln

Dazu benötigt man natürlich das private Zertifikat.

openssl smime -decrypt -in email.eml -recip recipient.pem

Liegt das Zertifikat nicht im PEM-Format vor, sondern im PKCS12-Format, dann kann man es wie folgt vorher konvertieren:

openssl pkcs12 -in recipient.p12 -out recipient.pem
 
Zuletzt bearbeitet:
  • Like
Reaktionen: dg2rbf

Worschtbrot28

Pferdeapfel
Registriert
12.10.16
Beiträge
79
So, und wenn du hier auf Zertifikat anzeigen klickt, müsstest du angeboten bekommen es zu installieren, oder? Hast du das getan? Das ist mir jetzt nicht klar.

Kannst du davon bitte auch einen Screenshot einstellen?

Nein, hier wird mir nur angeboten, dem Zertifikat nicht mehr zu vertrauen

IMG_2495.jpg


Im Output müssten wir nun genaue Hinweise auf das verwendete Zertifikat finden.

Okay, jetzt sind wir schon wieder einen Schritt weiter - oder auch nicht!
Der openssl - Befehl spuckt als Issiuer D-Trust aus:

Code:
   0:d=0  hl=4 l=22903 cons: SEQUENCE       
    4:d=1  hl=2 l=   9 prim: OBJECT            :pkcs7-envelopedData
   15:d=1  hl=4 l=22888 cons: cont [ 0 ]     
   19:d=2  hl=4 l=22884 cons: SEQUENCE       
   23:d=3  hl=2 l=   1 prim: INTEGER           :00
   26:d=3  hl=4 l= 372 cons: SET             
   30:d=4  hl=4 l= 368 cons: SEQUENCE       
   34:d=5  hl=2 l=   1 prim: INTEGER           :00
   37:d=5  hl=2 l=  88 cons: SEQUENCE       
   39:d=6  hl=2 l=  81 cons: SEQUENCE       
   41:d=7  hl=2 l=  11 cons: SET             
   43:d=8  hl=2 l=   9 cons: SEQUENCE       
   45:d=9  hl=2 l=   3 prim: OBJECT            :countryName
   50:d=9  hl=2 l=   2 prim: PRINTABLESTRING   :DE
   54:d=7  hl=2 l=  21 cons: SET             
   56:d=8  hl=2 l=  19 cons: SEQUENCE       
   58:d=9  hl=2 l=   3 prim: OBJECT            :organizationName
   63:d=9  hl=2 l=  12 prim: UTF8STRING        :D-TRUST GmbH
   77:d=7  hl=2 l=  43 cons: SET             
   79:d=8  hl=2 l=  41 cons: SEQUENCE       
   81:d=9  hl=2 l=   3 prim: OBJECT            :commonName
   86:d=9  hl=2 l=  34 prim: UTF8STRING        :D-TRUST Advanced Class 3 CA 1 2009
  122:d=6  hl=2 l=   3 prim: INTEGER           :184E75
  127:d=5  hl=2 l=  13 cons: SEQUENCE       
  129:d=6  hl=2 l=   9 prim: OBJECT            :rsaEncryption
  140:d=6  hl=2 l=   0 prim: NULL

Ich habe jedoch nie S/Mime Keys bei D-Trust bestellt, wohl aber vor ein paar Jahren eine quaifizierte Signaturkarte. Der Issiuer "D-TRUST Advanced Class 3 CA 1 2009" weist nach einer kurzen Google-Suche auch eindeutig auf die Signaturkarte hin.

Offenbar zieht sich unser Gateway den D-Trust Schlüssel irgendwo aus den öffentlichen Verzeichnissen und verwirft den Class1 Schlüssel, weil der Class3 Schlüssel höherwertiger ist. Darauf muss man erst mal kommen...

Ich habe mein Class1 Zertifikat in Thunderbird importiert und siehe da, Ich kann mir damit problemlos verschlüsselte Mails senden, die das Gateway auch korrekt entschlüsselt. Antworte ich auf die Mail, wird vom Gateway wieder D-Trust gezogen...

Damit wäre ein Problem gelöst, bliebt noch die Frage, warum Mail auf iOS sich weigert die verschlüsselten Mails zu senden.
 

Ijon Tichy

Schöner von Bath
Registriert
21.11.06
Beiträge
3.680
Nein, hier wird mir nur angeboten, dem Zertifikat nicht mehr zu vertrauen

Anhang anzeigen 167330
Nicht ganz. Da steht auch Weitere Details. Hast du da mal draufgeklickt? Da sieht man nämlich auch interessante Details, z.B.


1596289572904.png 1596289605676.png

Links sieht man Aussteller und die E-Mail-Adresse, für die das Zertifikat gilt, und rechts (wenn man ein Stück runterscrollt), weitere E-Mail-Adressen, für die das Zertifikat ebenfalls gilt.

Wichtig ist auch, dass als Zweck E-Mail-Schutz angegeben und bei Verwendung Schlüsselverschlüsselung dabei ist.

Ist die E-Mail-Adresse, an die du schreiben möchtest, dabei?


[...]

Offenbar zieht sich unser Gateway den D-Trust Schlüssel irgendwo aus den öffentlichen Verzeichnissen und verwirft den Class1 Schlüssel, weil der Class3 Schlüssel höherwertiger ist. Darauf muss man erst mal kommen...

Ich habe mein Class1 Zertifikat in Thunderbird importiert und siehe da, Ich kann mir damit problemlos verschlüsselte Mails senden, die das Gateway auch korrekt entschlüsselt. Antworte ich auf die Mail, wird vom Gateway wieder D-Trust gezogen...

Damit wäre ein Problem gelöst, bliebt noch die Frage, warum Mail auf iOS sich weigert die verschlüsselten Mails zu senden.

Das verstehe ich nun nicht. Du schreibst "Ich kann mir damit problemlos verschlüsselte Mails senden" und nun fragst du, warum keine verschlüsselten Mails senden kannst? Offensichtlich fehlt mir hier ein Stück vom Puzzle. Kannst du das bitte erklären?

Nachtrag:
Hast du das D-Trust-Zertifikat nun auch in iOS installiert? Und hast du deine E-Mail so konfiguriert, dass nun dieses genommen werden soll? Du musst bitte Schritt für Schritt beschreiben was du tust, sonst kann ich das ja nicht nachvollziehen.
 

Anhänge

  • 1596289552501.png
    1596289552501.png
    110,1 KB · Aufrufe: 5
Zuletzt bearbeitet:

Worschtbrot28

Pferdeapfel
Registriert
12.10.16
Beiträge
79
Links sieht man Aussteller und die E-Mail-Adresse, für die das Zertifikat gilt, und rechts (wenn man ein Stück runterscrollt), weitere E-Mail-Adressen, für die das Zertifikat ebenfalls gilt.

Wichtig ist auch, dass als Zweck E-Mail-Schutz angegeben und bei Verwendung Schlüsselverschlüsselung dabei ist.

Ist die E-Mail-Adresse, an die du schreiben möchtest, dabei?

Die Emailadresse ist dabei, allerdings nur unter den alternativen Namen. Im Bereich Inhaber steht gar keine Emailadresse und der Zweck "Schlüsselverschlüsselung" fehlt ganz. Dieser findet sich nur im Zertifikat für meine private Adresse, nicht jedoch in dem für die Zieladresse.

IMG_2496 2.jpg

IMG_2497.jpg

IMG_2498.jpg

Das verstehe ich nun nicht. Du schreibst "Ich kann mir damit problemlos verschlüsselte Mails senden" und nun fragst du, warum keine verschlüsselten Mails senden kannst? Offensichtlich fehlt mir hier ein Stück vom Puzzle. Kannst du das bitte erklären?

Das Versenden verschlüsselter Mails funktioniert nur über Thunderbird. Mail verweigert sowohl auf dem Mac als auch auch unter iOS/iPadOS mit dem Hinweis "Kein Zertifikat für dem Empfänger gefunden" den Dienst.

Hast du das D-Trust-Zertifikat nun auch in iOS installiert?

Nein, von D-Trust habe ich nur die Signaturkarte. Leider bekomme ich diese nicht unter Thunderbird zum Laufen. Ich habe schon versucht die lokal gespeicherte Email mit der Software "Governikus Signer" zu entschlüsseln. Diese erkannte das Zertifikat auf der Karte, weigert sich aber standhaft die Mail zu entschlüsseln ("Ihre Signaturkarte unterstützt den Algorythmus nicht").

Das Zertifikat bekomme ich wohl nicht ohne die Windows-VM und die D-Trust Software von der Karte. Ich muss mal gucken, ob ich die noch irgendwo in einem Backup habe, andernfalls muss ich wohl den D-Trust Support für einen neuen Downloadlink kontaktieren.

Oder kennst Du eine Möglichkeit die Zertifikate unter MacOS von der Karte zu bekommen?
 

Anhänge

  • IMG_2496.jpg
    IMG_2496.jpg
    210,9 KB · Aufrufe: 6
Zuletzt bearbeitet:

Ijon Tichy

Schöner von Bath
Registriert
21.11.06
Beiträge
3.680
Die Emailadresse ist dabei, allerdings nur unter den alternativen Namen.

Das ist ok so.

Im Bereich Inhaber steht gar keine Emailadresse und der Zweck "Schlüsselverschlüsselung" fehlt ganz. Dieser findet sich nur im Zertifikat für meine private Adresse, nicht jedoch in dem für die Zieladresse.

Bist du sicher? Der Zweck ist unter "Schlüsselverwendung" und nicht unter "Erweitere Schlüsselverwendung" angegeben, was ähnlich klingt, aber etwas anderes ist (diese Bezeichnung wurden eigens zur Verwirrung so benannt). Die Schlüsselverwendung wird oberhalb der Erweiterten Schlüsselverwendungen angezeigt:

1596372310189.png

Falls da tatsächlich nicht Schlüsselverschlüsselung steht, sondern nur Digitale Signatur, dann wurden hier verschiedene Zertifikate für Signierung und Verschlüsselung verwendet. Für Firmen ist das sogar empfehlenswert, da das Verschlüsselungszertifikat so hinterlegt werden kann, damit man die E-Mails auch noch lesen kann, wenn der Mitarbeiter nicht mehr da ist, sich aber trotzdem niemand via Signierung für ihn ausgeben kann.

Wenn also Schlüsselverschlüsselung tatsächlich fehlt, dann ist das Zertifikat tatsächlich nicht für das Verschlüsseln von E-Mails geeignet. Es muss dann noch ein anderes Zertifikat hierfür existieren.

Das Versenden verschlüsselter Mails funktioniert nur über Thunderbird. Mail verweigert sowohl auf dem Mac als auch auch unter iOS/iPadOS mit dem Hinweis "Kein Zertifikat für dem Empfänger gefunden" den Dienst.

Sorry, dass ich immer noch verwirrt bin. Thunderbird auf macOS? Oder in deiner Windows-VM? Mit Enigmail nehme ich an?

Hast du mal geschaut, welche Zertifikate im Thunderbird gespeichert sind und diese mit denen in der Schlüsselbundverwaltung verglichen?

Wenn es mit Thunderbird geht, solltest du ja theoretisch das fehlende Zertifikat von dort exportieren können? Oder habe ich jetzt was verpasst?


Oder kennst Du eine Möglichkeit die Zertifikate unter MacOS von der Karte zu bekommen?

Sorry, nein, da muss ich passen.
 

Worschtbrot28

Pferdeapfel
Registriert
12.10.16
Beiträge
79
Falls da tatsächlich nicht Schlüsselverschlüsselung steht, sondern nur Digitale Signatur, dann wurden hier verschiedene Zertifikate für Signierung und Verschlüsselung verwendet.

Jap, ist auch so. Ich habe jetzt beide öffentlichen Schlüssel in die Schlüsselbundverwaltung importiert und siehe da, ich kann jetzt auch unter MacOS-Mail verschlüsselte Mails an mich senden :innocent:

Allerdings musste ich eines der Zertifikate so einstellen, dass ihm immer vertraut wird (trotz grünem Haken). Dann hat Mail kein Problem mehr auf dem Macbook.

Unter iOS besteht der Fehler leider noch. Hier habe ich auch beide Zertifikate inkl. der kompletten Zertifikatskette importiert und die Ziel-Email als neuen Kontakt angelegt. Es kommt immer noch "Mail kann für keinen Empfänger ein gültiges Zertifikat finden". Leider kann ich unter iOS keinem einzelnen Zertifikat vertrauen. Das geht nur für unser Corporate Root, bringt aber leider keine Änderung. Ein Neustart hat auch nicht geholfen.

Wenn es mit Thunderbird geht, solltest du ja theoretisch das fehlende Zertifikat von dort exportieren können? Oder habe ich jetzt was verpasst?

Nein, das funktionierte. Und war natürlich Thunderbird unter MacOS ^_^

Sorry, nein, da muss ich passen.

Das Thema D-Trust erledigt sich am Freitag von Selbst, da läuft zufälliger Weise das Zertifikat ab. Dann sollte es ab Sa ja theoretisch wieder klappen :D


An dieser Stelle noch mal vielen herzlichen Dank für deine Hilfe, Du hast mir mit diversen Denkanstößen echt weiter geholfen 👍
 
  • Like
Reaktionen: dg2rbf