localhost https mit ssl auf dem Mac

Für Webprojekte ist https mittlerweile Standard.

Um möglichst nahe an der Produktionsumgebung zu sein, sollte die lokale Entwicklungsumgebung ebenfalls ssl verwenden.

Folgende Schritte sind unter Mac OS X notwendig.

Zertifikat erstellen

Die Schlüsselbundverwaltung öffnen. ‘Zertifikat erstellen…’ auswählen.

Schluesselbundverwaltung

Im Zertifikatsassistent die Felder ausfüllen.

Name: localhost

Identitätstyp: Root, selbst-signiert

Zertifikatstyp: SSL-Server

Auf ‘Erstellen’ klicken.

Zertifikat erstellen

Mac OS X gibt einen Hinweis auf die Unsicherheit solcher selbsterstellten Zertifikate.

sicherheitshinweis

Auf ‘Fortfahren’ klicken. Das neue Zertifikat wird angezeigt.

zertifikat

Zertifikat vertrauen

Dem erstellten Zertifikat muss nun noch vertraut werden.

Zertifikat in der Schlüsselbundverwaltung suchen und mit Doppelklick öffnen.

schluesselbundverwaltung-localhost

In den Zertifikatsinformationen den Abschnitt ‘Vertrauen’ öffnen. Bei ‘Secure Sockets Layer (SSL)’ auf ‘Immer vertrauen’ wechseln.

ssl-immer-vertrauen

Die Änderung mit Passworteingabe übernehmen.

Zertifikat benutzen

Den privaten Schüssel exportieren.

In der Schlüsselbundverwaltung mittels ctrl+click den privaten Schlüssel im Personal Information Exchange Format (.p12) exportieren.
privater-schluessel-export

privaten-schluessel-exportieren

Kein Passwort angeben.

Den Export mit Passwort erlauben.

Das Zertifikat in PEM umwandeln. PEM ist ein Containerformat, das sowohl das Zertifikat als auch den privaten Schlüssel enthält.

Umwandlung mittels dem Program openssl.

Im Terminal in das Verzeichnis mit dem exportierten Schlüssel wechslen.

cd ~/Documents
openssl pkcs12 -in Zertifikate.p12 -out Certificates.pem -nodes

Da kein Passwort angegeben wurde, kann die Passwortaufforderung mit einem Enter bestätigt werden.

Enter Import Password:
MAC verified OK

Die Datei Certificates.pem wurde im gleichen Verzeichnis erstellt.

Diese Datei ist ein Textdatei und kann dementsprechend auch bearbeitet werden.

Die meisten Webserver verwenden zwei separate Dateien.

Eine mit dem privaten Schlüssel (key) und eine mit dem Zertifikat (cert).

Die zwei Dateien erstellen und den entsprechenden Teil aus Certificate.pem einfügen.

Zum Beispiel unterhalb vom User ein Verzeichnis ‘localhost-ssl’ anlegen mit den Dateien key.pem und cert.pem.

In key.pem den Inhalt von Certificate.pem aus dem Abschnitt ‘—BEGIN PRIVATE KEY—‘ bis ‘—END PRIVATE KEY—‘ einfügen.

Beispiel Inhalt key.pem

-----BEGIN PRIVATE KEY-----
hier Inhalt aus Certificate.pem einfügen
-----END PRIVATE KEY-----

In cert.pem den Inhalt von Certificate.pem aus dem Abschnitt ‘—–BEGIN CERTIFICATE—–‘ bis ‘—–END CERTIFICATE—–‘ einfügen.

Beispiel Inhalt cert.pem

-----BEGIN CERTIFICATE-----
hier Inhalt aus Certificate.pem einfügen
-----END CERTIFICATE-----

Das war’s. Beide Dateien können jetzt beim Start des lokalen Webservers für https verwendet werden.