Ich habe SSL auf meinem Webserver eingerichtet und benötige jetzt zwei Dateien:
- Ein Zertifikat
- einen Zertifikatsschlüssel
Wie erstelle ich ein selbstsigniertes Zertifikat zu Testzwecken?
Ich habe SSL auf meinem Webserver eingerichtet und benötige jetzt zwei Dateien:
Wie erstelle ich ein selbstsigniertes Zertifikat zu Testzwecken?
Antworten:
Ubuntu, auch die 'Minimal'-Variante, ist ssl-cert
bereits vorinstalliert, sodass Sie nichts tun müssen.
Die gesuchten Dateien befinden sich bereits auf Ihrem System:
/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key
Fortgeschrittene:
Wenn Sie aus irgendeinem Grund ein neues Zertifikat erstellen müssen, können Sie es ausführen
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Wenn Sie das Ablaufdatum Ihres Zertifikats ändern möchten, können Sie das Skript make-ssl-cert unter bearbeiten /usr/sbin/make-ssl-cert
. Um 124 gibt es eine Zeile ähnlich der folgenden:
openssl req -config $TMPFILE -new -x509 -nodes \
Wo Sie das Ablaufdatum ändern können, indem Sie das -days
Argument hinzufügen :
openssl req -config $TMPFILE -new -days 365 -x509 -nodes \
Weitere Optionen finden Sie auf der Handbuchseite vonreq
.
/usr/share/ssl-cert/ssleay.cnf
.
www.test.mydomain.com
mithilfe des hostname
Befehls in der VM-CLI so einstellen, dass er mit der Test-URL übereinstimmt (z. B. ) . Anschließend wird der Schlüssel neu generiert, wobei --force-overwrite
der Common Name (CN) des Schlüssels mit der Test-URL übereinstimmt. Wenn ich den Schlüssel auf dem Hostcomputer als vertrauenswürdige Stammzertifizierungsstelle (in den Chrome-Einstellungen / Erweitert) installierte, erhielt ich die begehrte grüne Adressleiste.
make-ssl-cert
befehl den tag für mich gerettet!
Wie bereits erwähnt, wird Ubuntu Server mit den notwendigen Tools ausgeliefert. Abhängig von Ihrer Serverversion müssen Sie die spezifische Dokumentation nachschlagen . Ich werde versuchen, den selbstsignierten Zertifikaterstellungsprozess des aktuellen LTS (12.04) zusammenzufassen .
Zunächst generieren Sie die Schlüssel für die Certificate Signing Request (CSR):
openssl genrsa -des3 -out server.key 2048
Es liegt an Ihnen, eine Passphrase einzugeben oder nicht. In diesem Fall müssen Sie bei jedem (erneuten) Start eines Dienstes, der dieses Zertifikat verwendet, die Passphrase eingeben. Außerdem können Sie einen "unsicheren" Schlüssel ohne eine Passphrase aus der sicheren erstellen:
openssl rsa -in server.key -out server.key.insecure
# shuffle the key names to continue without passphrases
mv server.key server.key.secure
mv server.key.insecure server.key
Und jetzt erstellen Sie die CSR aus dem Schlüssel. Mit dem CSR und dem Schlüssel kann ein selbstsigniertes Zertifikat generiert werden:
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Der letzte Schritt besteht in der Installation des Zertifikats und des Schlüssels unter Debian / Ubuntu in der Regel in /etc/ssl
:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
Und schließlich müssen die Anwendungen, die das Zertifikat / den Schlüssel verwenden, entsprechend konfiguriert werden.