SSL Certificates

Wuchtbrumme

Golden Noble
Registriert
03.05.10
Beiträge
21.417
Hallo,

jedes Mal wieder stellt man sich an wie der erste Mensch, denkt sich, das hast du doch schon mal gehabt und googlest dich tot.
(Darf ich erwähnen, dass Suchmaschinen zunehmend nutzlos sind, weil sie meinen, sie wüssten, was ich suche)

Was ich möchte:
Von einem Linux-Rechner transportprotokollverschlüsselt zu dem IMAP-Server von macOS verbinden. (Ist nicht wahr, ich bin lokal, ich brauche keine Transportverschlüsselung, aber auch da sagt mir jemand, dass ich das bräuchte und zwar zwangsweise)

Was passiert:
Verbindung zum macOS Server IP:993 bringt:
Verification error: self signed certificate in certificate chain
(Darf ich erwähnen, dass ich diese Art von Bevormundung hasse, aber nichts anderes erwarte ich von diesen Entwicklern, gänzlich losgelöst von jeglichem common sense und Realismus. Verification? Ja, sicher. Braucht jeder. Unbedingt.)

Was ich bräuchte?
Eine Erklärung für Dumme, was ich tun muss. Ein normaler Mensch würde erwarten - für die Nützlichkeit und Akzeptanz von Transportverschlüsselung - dass Client und Server eine Verschlüsselung aushandeln und die dann benutzen. Aber offenbar verifiziert jetzt noch irgendein Spaßkeks, dass 1. der Server der ist, der im Zertifikat genannt wird und 2. dass der Client die Zertifikate hat. Beides nur nötig, um Autofahren für Leute ohne Führerschein zu ermöglichen.
Ich habe jetzt schon mal die für die Dienste benutzten INTERMEDIATE Certificates aus dem Schlüsselbund als p12 exportiert (freilich ohne die private keys), auf den Linux-Rechner kopiert und nach CRT konvertiert. Anschließend ein c_rehash durchgeführt und mittels
Code:
openssl s_client -connect macosserver_selber_name_wie_im_zertifikat.intern_und_auflösbar:993 -status -verifyCApath /etc/ssl/certs
- das Resultat ist immer noch
Verification error: self signed certificate in certificate chain

Kann mir jemand helfen, bitte? Vielen Dank!
Auf dem Server heißen mindestens fünf Zertifikate INTERMEDIATE_irgendwas - offenbar habe ich jetzt das richtige gefunden, denn die Fehlermeldung hat sich verändert! Ole!

Verification error: unable to get issuer certificate

Und nochmal die EDIT: Nachdem ich jetzt die "OpenDirectoryZertifizierungsstelle" nach dem og. Verfahren auf dem Linux-Server bereitgestellt habe, funktioniert es jetzt.


AAAAARRRGGGH.

Warum hat der Teufel seine Großmutter erschlagen?
 
Zuletzt bearbeitet:

Ijon Tichy

Clairgeau
Registriert
21.11.06
Beiträge
3.684
Ich mag mich irren (nee, mag ich eigentlich nicht, tu ich aber trotzdem oft), aber für mich klingt das so, als sei da ein selbst-signiertes Zertifikat im Spiel, das auf dem Client nicht im Trusted Certificate Store ist.

Ist jetzt die Frage, geht es da um ein selbst-gemachtes Root-Zertifikat oder ein um ein direkt selbst-signiertes Server-Zertifikat?

In jedem Fall muss das Public Certificate auf dem Client installiert werden und ihm vertraut werden. Wenn der Client auf einem Linux-Rechner ist, ist noch die Frage, woher der den Truststore holt, also ob er den System-Truststore nimmt oder einen eigenen. Z.B. verwendet Java ja einen eigenen oder manche E-Mail-Clients machen auch alles lieber selber.
 
  • Like
Reaktionen: Wuchtbrumme

Wuchtbrumme

Golden Noble
Registriert
03.05.10
Beiträge
21.417
das war's, aber das Problem ist ja gemäß EDIT bereits gelöst.
Ich bin mal gespannt, ob mir das einen erheblichen Komfortgewinn bringt. Der Posteingang müllt sich doch ganz schön zu und alles, was hilft, da etwas Ordnung reinzubringen, am besten automatisch (imapfilter) ist willkommen. Auf jeden Fall spare ich schon mal 100GB und 6GB für die VM, wo bisher ein macOS lief - Linux braucht nur 256MB und knapp 3GB.
 

Wuchtbrumme

Golden Noble
Registriert
03.05.10
Beiträge
21.417
Tja, die EDIT hatte ich nicht gesehen...

kein Problem, trotzdem vielen Dank für Deinen richtigen HInweis. Aus irgendeinem Grund helfen mir die Postings auch selber weiter, wenn ich nämlich wie ein Depp wieder vor dem Problem stehe, google ich mir die Seele aus dem Leib und lande dann oft wieder bei meinen eigenen Fragen. Hilfreich, wenn da auch schon die Antwort steht! :)
Richtig war also, das „Root-CA-Zertifikat“ zu exportieren (ohne privaten Key) und auf dem Linux-Rechner nach Konversion von P12 nach CRT bereitzustellen in /etc/ssl/certs (c_rehash nicht vergessen).
 

Ijon Tichy

Clairgeau
Registriert
21.11.06
Beiträge
3.684
Kleine Ergänzung:

Du sagt "nach CRT konvertiert". CRT ist ein Dateisuffix, aber kein Format. Eine CRT-Datei kann im DER-Format (binär) oder im PEM-Format sein (base-64-encoded ASCII). Diese Formate kann man direkt als dem Schlüsselbund exportieren (dort: CER oder PEM oder sogar P7B, was ein PKCS#7-Bundle mit mehreren Zertifikaten ist). Das wird aber nur angeboten, wenn man auf dem öffentliche Zertifikat ist (ohne den privaten Key).

Was "c_rehash nicht vergessen" bedeutet, ist mir nicht klar. Muss man das für den Import machen?
 
  • Like
Reaktionen: Wuchtbrumme