SSL Zertifikat

Strongground

New Member
Hallo!

Vorneweg: Ich bin ein absoluter Newbie im Bereich Serveradministration. Da ich aber immerhin schlau genug bin, ein GUI zu bedienen, und die richtigen Knöpfe zu finden, bin ich eine Art "Hilfsadmin". Eine Apache-.conf erstellen, den Emailserver verwalten, WarFTP bedienen, das geht ganz gut. Nun ist die Aufgabe eingetrudelt, ein SSL-Zertifikat für eine Domain zu bestellen und zu installieren. Diese läuft auf einem Windows Web Server 2008.

Das hat alles gut geklappt: Ich habe eine CSR im inetmgr erstellt und an den Dienstleister geschickt, das Zertifikat im Gegenzug bekommen und die CSR dann unter Angabe des erhaltenen .crt abgeschlossen.

Nun ist dort auch ein schöner Eintrag mit Angabe "Issued to" und den Expiration Dates sowie dem Hash. "Schön" denke ich mir, "dann muss ja die Webseite nun wieder ohne Zertifikatsfehler im Browser aufrufbar sein." Leider steht aber im Firefox immer noch ein durchgestrichenes "https://" und ein Blick ins Zertifikat verrät, es ist abgelaufen. Wieso wird das neue Zertifikat noch nicht erkannt?

Kann mir hierbei jemand helfen, bitte?

Beste Grüße,
 
Das heisst du bist überzeugt, der Microsoft Web Server 2008 kann SSL-Zertifikate nicht ohne Neustart im laufenden Betrieb erkennen und einbinden? Das glaube ich nicht. O.o
 
Das heisst du bist überzeugt, der Microsoft Web Server 2008 kann SSL-Zertifikate nicht ohne Neustart im laufenden Betrieb erkennen und einbinden? Das glaube ich nicht. O.o

Ja ich gehe grundsätzlich davon aus. Warum kommt ein Neustart nicht in Frage?

Ansonsten wäre zu klären ob du das Zertifikat auch der Website zugeordnet hast? Dies muss auch noch passieren.
 
Hallo. Also vermutlich hab ich schonmal Mist gemacht bei der Beschreibung, es ist so dass das Web (ein Typo3 CMS Web) auf einem Apache läuft, der wiederrum auf dem Windows Web Server läuft.

Die Win-Kiste neuzustarten bin ich nicht befugt, ich vermute weil vieles nicht automatisiert ist und manuell gestartet werden muss - was bei einem Neustart nicht passieren würde. Ist aber nur eine Vermutung - ich administriere das Teil ja wie gesagt nicht. : )

Ich habe jetzt den Apache neu gestartet, was kein Problem war. Allerdings ist immer noch ein abgelaufenes Zertifikat auf der Seite zu sehen. In einer Anleitung zu SSL für Apache stand, dass im httpd.conf "LISTEN 443" stehen sollte, allerdings wird dort nur auf Port 80 gelauscht. Vllt. hat es was damit zu tun?
 
Wenn der Listener nicht vorhanden wäre, würdest du auch kein abgelaufenes SSL Zertifikat bekommen. Der Listener steht oft auch in einer anderen Konfig. Apache hat für gewöhnlich mehr als eine Config.

Dem Apache sind die Verwaltungstools von Windows auch so ziemlich egal. Er bezieht seine Zertifikate aus dem Dateisystem. Pfad dazu steht ebenfalls in der Apache Config.
Es wäre im übrigen empfehlenswert auf einem Windows Server auf den Apache zu verzichten und stattdesseen den IIS zu nutzen.
 
Ja, auf unseren Servern könnte man auf vieles verzichten, alles vereinheitlichen und bestimmt auch wahnsinnig viel optimieren, damit es nicht ständig abstürzt, SQL-injections passieren usw. aber das sagen die "Techniker" schon lange, ohne dass viel oder zu langsam passiert.

Zu meinem konkreten Problem: Ich habe mich noch etwas mehr eingelesen und bin jetzt soweit, dass ich das Zertifikat aus dem IIS exportiert habe und per SSL-Converter in ein .PEM umgewandelt habe. Nun enthält die aber irgendwie mehr Blöcke als ich erwartet habe. Ich brauche für die Apache-config drei Blöcke soweit ich das verstanden habe:
SSLCertificateFile
SSLCertificateKeyFile
SSLCertificateChainFile
Diese verweisen dann auf eine .crt, eine .key und noch eine .crt (intermediate crt?).

Ich kann jetzt die ersten drei Blöcke (RSA PRIVATE KEY, CERTIFICATE und noch ein CERTIFICATE) aus der PEM in diese drei Dateien aufspalten, aber dann bleibt immer noch ein CERTIFICATE-Block, mit dem ich nichts anzufangen weiss. :confused:
 
Mir ist ja gar nicht klar, warum du einen Schlüssel mit IIS erstellst, um ihn im Apache zu nutzen, aber das tut ja nun nichts zur Sache.

Den SSLCertificateChainFile brauchst du eigentlich gar nicht ändern, wenn du vorher auch schon ein Zertifikat vom selben Aussteller benutzt hast. Hast du ein Zertifikat nur verlängert, ist SSLCertificateFile alles was du tauschen musst. Wenn du auch einen neuen Schlüssel hast, muss dieser in SSLCertificateKeyFile.

So eine Datei kann mit einem einfach Texteditor geteilt werden. Laut Apache-Handbuch kannst du die Datei aber auch einfach lassen wie sie ist, und unter SSLCertificateFile angeben. Die anderen Direktiven lässt du dann weg.
 
Ich kann jetzt die ersten drei Blöcke (RSA PRIVATE KEY, CERTIFICATE und noch ein CERTIFICATE) aus der PEM in diese drei Dateien aufspalten, aber dann bleibt immer noch ein CERTIFICATE-Block, mit dem ich nichts anzufangen weiss. :confused:

Du hast bestimmt "übergeordnete Zertifikate mit importieren" angegeben?

Dann mach als erstes folgendes: Kopiere die einzelnen Blöcke jeweils in eine Textdatei, sagen wir 1.txt, 2.txt, 3.txt.
Anschließend nennst Du sie um, und zwar 1.crt, 2.crt und 3.crt.
Anhand der Erweiterung erkennt Windows, daß es sie beim Doppelklick mit Hilfe des Certmgr.msc starten soll. Das ist einfach eine nette GUI um die Windows-Krypto-API und zeigt die Zertifikate übersichtlich in einer Dialogbox an.

Auf diese Art und Weise ermittelst Du, welches Zertifikat "Deins" ist. Als zweites müßte noch das (selbstsignierte) Zertifikat der Zertifizierungsstelle dabei sein und eventuell als drittes ein Zwischenzertifikat.

Anschließend sortierst Du: Dein Zertifikat (in .pem umbenennen) -> SSLCertificateFile
Den Private Key -> SSLCertificateKeyFile
Das Zwischenzertifikat (falls vorhanden) -> SSLCertificateChainFile
Das Zertifikat der Zertifizierungsstelle -> SSLCACertificateFile

Das vorletzte brauchst Du nur, falls Deine CA mit Zwischenzertifikaten arbeitet (meist bei billigen und kostenlosen Zertifikaten) und der letzte Eintrag ist eigentlich auch redundant, weil alle heutigen Browser die Zertifikate mit fest eingebauten CA-Zertifikaten abgleichen und eine dicke fette Warnung bringen, falls es dort nicht gefunden wird.

Anschließend Apache (nicht den Server!) neu starten und genau die Fehler-Logs lesen.
 
Immer wieder lese ich von SSLCertificateChainFile und SSLCertificateCAFile. Aber geht aus der Apache-Dokumentation nicht eindeutig hervor, dass diese nur zur Prüfung von Client-Zertifikaten dienen? Ich hatte das so verstanden.
 
Back
Top