Welches Passwort verwendet OSX Server beim Importieren von SSL-Zertifikaten?

Ich migriere meine Website von meinem heimischen OSX-Server auf einen virtuellen Linux-Server, der in einem geeigneten Rechenzentrum gehostet wird, und ich habe ein Problem mit den SSL-Zertifikaten, die ich in OSX Server importiert habe.

Es scheint die Zertifikate gespeichert zu haben, /etc/certificatesaber ich kenne die Passphrase nicht, mit der es die Schlüsseldatei verschlüsselt hat. Es ist nicht mein normales Konto-/Schlüsselbund-Passwort, daher habe ich keine Ahnung, welche Passphrase es oder ich damals gewählt haben.

(Ich habe versucht, die Original-SSL-Zertifikate zu bekommen, aber das ist auch nicht so einfach, aber vielleicht meine einzige Hoffnung).

Könnte mir bitte jemand sagen, wie das funktioniert, damit ich mich entwirren und die Zertifikate auf der neuen Website verwenden kann?

Antworten (2)

Das eigentliche "Zertifikat" selbst ist nicht verschlüsselt. Ihr privater Schlüssel, der mit dem Zertifikat verwendet wird, ist normalerweise verschlüsselt. Er wird mit der Passphrase verschlüsselt, die Sie beim Erstellen des privaten Schlüssels gewählt haben. Wenn Sie über mehrere Zertifikate verfügen, haben Sie dies möglicherweise eine Weile vor der Erstellung dieses spezifischen Zertifikats getan. Versuchen Sie es also unbedingt mit "alten Passwörtern", falls Sie welche haben.

Wenn Sie sich nicht an die Passphrase für Ihren privaten Schlüssel erinnern können, haben Sie Pech gehabt. Sie können dieses spezifische Zertifikat nicht mehr verwenden. Der Aussteller des Zertifikats kann Ihnen keine Kopie des privaten Schlüssels zur Verfügung stellen, da er ihn nicht hat.

In der Regel können Sie Ihr bestehendes Zertifikat sperren und sich von Ihrem Aussteller ein neues ausstellen lassen – je nach Aussteller kann das kostenpflichtig sein.

Da Sie heute neue SSL-Zertifikate für weniger als 10 $ kaufen können, lohnt es sich möglicherweise nicht, zu versuchen, das alte zum Laufen zu bringen. Kaufen Sie einfach ein neues.

+1 OK, Sie haben also bestätigt, dass die Passphrase von mir und nicht vom System ausgewählt wurde. Das gibt mir etwas, womit ich arbeiten kann.
Okay Problem gelöst. Fand eine Kopie in einem Backup, das ich hatte, das entsperrt war. Es ist also seltsam, wie es von OSX Server mit einer von mir angegebenen Passphrase gesperrt wurde, die ich inzwischen vergessen habe. Das passiert mir normalerweise nicht :-$

Es sieht so aus, als ob das Problem von OP gelöst wurde, aber fürs Protokoll ist es eigentlich ziemlich einfach, die Schlüssel von OS X Server zu bekommen, solange Sie Administratorzugriff auf den Server haben. Ich gebe Ihnen zwei Möglichkeiten, es zu tun:

  1. Führen Sie das Schlüsselbundverwaltungsprogramm auf dem Server aus, wählen Sie „System“ aus der Schlüsselbundliste und dann „Meine Zertifikate“ aus der Kategorieliste darunter. Wählen Sie das entsprechende Zertifikat auf der rechten Seite des Fensters aus und wählen Sie dann im Menü „Datei“ die Option „Elemente exportieren“. Stellen Sie im Exportdialog sicher, dass das Dateiformat auf „Personal Information Exchange (.p12)“ eingestellt ist, um sowohl den privaten Schlüssel zu exportieren und (öffentliches) Zertifikat. Es wird Sie nach Ihrem Administratornamen und Passwort fragen, um Zugriff auf den Schlüsselbund zu erhalten, und dann nach einem neuen Passwort fragen, um die exportierte Datei zu verschlüsseln.

  2. Das Zertifikat und der zugehörige private Schlüssel werden (wie Sie sagten) auch in /etc/certificates gespeichert. Stellen Sie sicher, dass Sie sowohl das Zertifikat (Dateinamen mit der Endung „.cert.pem“) als auch den passenden privaten Schlüssel („.key.pem“); Sie benötigen möglicherweise auch die Zertifikatskette (".chain.pem"), die Ihr Zertifikat und die unterstützenden Zertifikate enthält, die für seine Authentizität bürgen.

    Die private Schlüsseldatei wird mit einem zufällig generierten Passwort verschlüsselt. Kein Problem; Damit Serverdienste diesen Schlüssel verwenden können, wird sein Passwort (eigentlich im Schlüsselbund des Systems) in einer abrufbaren Form gespeichert. Mit Administratorrechten können Sie es genauso abrufen wie der Webserver. Verwenden Sie diesen Befehl (ersetzen Sie server.example.com durch den tatsächlichen Domänennamen):

    sudo /Library/Server/Web/Config/apache2/getsslpassphrase server.example.com:443 RSA
    

    Es erfordert Ihr Admin-Passwort und spuckt dann etwas aus, das wie eine GUID aussieht. Das ist das Verschlüsselungspasswort für die .key.pem-Datei.

    (Hinweis: In älteren Versionen von OS X Server befand sich getsslpassphrase in /etc/apache2/ statt in /Library/Server/Web/Config/apache2/. Passen Sie es nach Bedarf an.)