it-swarm.com.de

Verhindern Sie, dass Apache bei jedem Neustart nach dem SSL-Kennwort fragt

Mit Anweisungen von dieser Site , aber nur ein wenig variierend, habe ich mit -newca eine CA erstellt, cacert.pem Auf meinen Comp kopiert und als vertrauenswürdiger Aussteller in IE importiert. Ich habe dann -newreq und -sign (Hinweis: Ich mache /full/path/CA.sh -cmd Und nicht sh CA.sh -cmd) Und das Zertifikat und den Schlüssel nach Apache verschoben.

Ich habe die Site in IE und mit .NET-Code besucht und es scheint vertrauenswürdig, großartig (es sei denn, ich schreibe www. Vorne, was erwartet wird). Aber jedes Mal, wenn ich Apache neu starte, muss ich eingeben mein Passwort für die Site (s?).

Wie kann ich es schaffen, damit ich das Passwort NICHT eingeben muss?

41
user274

Sie möchten die Passphrase aus einer Schlüsseldatei entfernen. Führen Sie Folgendes aus:

openssl rsa -in key.pem -out newkey.pem

Beachten Sie, dass dies bedeutet, dass jeder mit physischem Zugriff auf den Server den Schlüssel kopieren (und dadurch missbrauchen) kann.

64
Warner

Ich habe mich in der Vergangenheit schuldig gemacht, die Passphrase aus meinen eigenen Schlüsseldateien entfernt zu haben, weil dies die einfachste Lösung ist, aber in Bezug auf die Sicherheit nicht die beste Idee. Eine Alternative besteht darin, die Passphrase an Apache weiterzuleiten. Sie können dies mit der Option SSLPassPhraseDialog in Ihrem httpd.conf (Oder einer anderen darin enthaltenen Datei) tun.

Wenn Sie nur eine SSL-Site auf Ihrem Server haben, ist die einfachste Form davon:

# either of these will work
SSLPassPhraseDialog |/path/to/passphrase-script
SSLPassPhraseDialog exec:/path/to/passphrase-script

Sie würden dann ein sehr einfaches Skript namens /path/to/passphrase-script Erstellen, das Folgendes enthält:

#!/bin/sh
echo "put the passphrase here"

Beim Start nimmt Apache die Ausgabe dieses Skripts und verwendet sie als Passphrase für Ihren SSL-Schlüssel. Wenn Sie über mehrere SSL-Sites verfügen, bietet SSLPassPhraseDialog zusätzliche Verwendungsmöglichkeiten, sodass Sie entweder ein einziges Skript für alle Ihre Schlüssel oder ein separates Skript für jeden Schlüssel haben können , oder wie auch immer Sie es tun möchten.

24

Um das Kennwort aus einer PEM-Datei zu entfernen, haben Sie folgende Möglichkeiten. Beachten Sie, dass beide Befehle erforderlich sind, wenn sich der private Schlüssel und das öffentliche Zertifikat in derselben Datei befinden:

# you'll be prompted for your passphrase one last time
openssl rsa -in mycert.pem -out newcert.pem
openssl x509 -in mycert.pem >> newcert.pem

Dadurch wird eine Datei mit dem Namen "newcert.pem" erstellt, bei der es sich um eine PEM-Datei ohne Kennwort handelt. Wie in anderen Antworten erwähnt, sollten Sie sich vorher überlegen, ob dies unter Sicherheitsgesichtspunkten eine gute Idee ist oder nicht.

Snagged von hier

3
Brad Parks