PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : apachectl startssl (ohne Passphrase einzugeben)



Rebell
14.10.02, 13:32
Wie im Titel schon beschrieben: Gibts eine Möglichkeit Apache mit SSL zu starten ohne die Passphrase eingeben zu müssen?

Jorge
14.10.02, 13:52
Ja.

Rebell
14.10.02, 14:08
Ok, dann hätt ich gern ne Info darüber - wie!

aycaramba
14.10.02, 14:11
Der private Schlüssel darf nicht kodiert sein.

Rebell
14.10.02, 14:29
Hmm... das ist gut zu wissen, aber bei meinem ./make certificate wurde mir die Angabe einer Passphrase ans Herz gelegt.

Jasper
14.10.02, 14:36
Original geschrieben von Rebell
Hmm... das ist gut zu wissen, aber bei meinem ./make certificate wurde mir die Angabe einer Passphrase ans Herz gelegt.

trotzdem musst du sie weglassen, wenn apache mit ssl von selbst hochfahren soll. anderenfalls musst du sie bei jedem start von hand eingeben.

-j

Rebell
14.10.02, 14:42
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:
phrase is too short, needs to be at least 4 chars
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:
phrase is too short, needs to be at least 4 chars
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:
phrase is too short, needs to be at least 4 chars
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:
phrase is too short, needs to be at least 4 chars
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:
phrase is too short, needs to be at least 4 chars
Enter PEM pass phrase:


Und was mach ich hier? STRG+C?

Jasper
14.10.02, 14:47
Original geschrieben von Rebell


Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:
phrase is too short, needs to be at least 4 chars


Und was mach ich hier? STRG+C?

nein, eine eingeben und danach mit openssl wieder rausnehmen.

openssl rsa -in keyfile.pem -out keyfile.pem

oder den request gleich ohne passphrase erstellen:

openssl req -new -keyout keyfile.pem -out reqfile.pem -nodes

pass am besten das makefile an.

-j

Rebell
15.10.02, 08:09
Und wie kann ich die Option für das Apache-Make "make certificate" benutzen?

Jasper
15.10.02, 08:21
Original geschrieben von Rebell
Und wie kann ich die Option für das Apache-Make "make certificate" benutzen?

hatte ich doch geschrieben: indem du das dazugehörige makefile änderst.
irgendwo in dem makefile muss ja openssl zur generierung aufgerufen werden.

-j

Rebell
15.10.02, 08:49
Nein, wirds nicht... In der Apache-Installation steht zwar, für weitere Optionen soll ich in der README für mod_ssl lesen. Aber selbst dort existiert nichtmal der Begriff passphrase.

Jasper
15.10.02, 09:28
Original geschrieben von Rebell
Nein, wirds nicht... In der Apache-Installation steht zwar, für weitere Optionen soll ich in der README für mod_ssl lesen. Aber selbst dort existiert nichtmal der Begriff passphrase.

??? und wie wird dann in dem makefile der key generiert?

-j

Rebell
15.10.02, 09:36
Wenn ich das wüsste würde ich ja nicht fragen. Ich geh mal davon aus, dass durch

make certificate TYPE=custom


und das vorherige verwenden von enable-module=ssl das mod_ssl so eincompiliert wurde um nur für Apache Keys zu generieren. Würde logischweise funktionieren. Somit muss ich "nur" rausfinden in welchem Teil der Apache-Quellcode-Dateien der Key generiert wird ... hahahahaaaaa...

Jasper
15.10.02, 09:46
Original geschrieben von Rebell
Wenn ich das wüsste würde ich ja nicht fragen. Ich geh mal davon aus, dass durch

make certificate TYPE=custom


und das vorherige verwenden von enable-module=ssl das mod_ssl so eincompiliert wurde um nur für Apache Keys zu generieren. Würde logischweise funktionieren. Somit muss ich "nur" rausfinden in welchem Teil der Apache-Quellcode-Dateien der Key generiert wird ...


ich sprach vom MAKEFILE!
in dem verzeichnis wo das make aufgerufen muss ein file namens 'Makefile' existieren. und in diesem makefile gibt es einen abschnitt namens 'certificate'. dieser abschnitt kann auch in einem von dem makefile abgearbeiteten makefile liegen, aber irgendwo gibt es einen abschnitt 'certificate' und in diesem steht drin, wie das certificate erzeugt wird.

wenn du aber noch nie mit makefiles zu tun gehabt hast, generiere lieber einen key mit passphrase und entferne die passphrase danach.

-j

Rebell
15.10.02, 09:57
Da haste dein Makefile...

Teil 1:


# `make certificate' parameters
TYPE =
ALGO =
CRT =
KEY =
VIEW =


[...]

Teil 2:


# build the package
build:
@echo "===> $(SRC)"
@$(MAKE) -f $(TOP)/$(MKF) $(MFLAGS) $(MFWD) build-std
@if [ "x$(build-support)" != "x" ]; then \
$(MAKE) -f $(TOP)/$(MKF) $(MFLAGS) $(MFWD) $(build-support); \
fi
@$(MAKE) -f $(TOP)/$(MKF) $(MFLAGS) $(MFWD) build-certificate
@touch $(TOP)/$(SRC)/.apaci.build.ok
@echo "<=== $(SRC)"


[...]

Teil 3:


# SSL certificate generation
build-certificate:
-@if [ ".$(ssl)" = .1 ]; then \
if [ ".`grep '(SKIPME)' $(TOP)/conf/ssl.crt/server.crt`" != . ]; then \
if [ ".$(QUIET)" != .1 ]; then \
echo "+---------------------------------------------------------------------+"; \
echo "| Before you install the package you now should prepare the SSL |"; \
echo "| certificate system by running the 'make certificate' command. |"; \
echo "| For different situations the following variants are provided: |"; \
echo "| |"; \
echo "| % make certificate TYPE=dummy (dummy self-signed Snake Oil cert) |"; \
echo "| % make certificate TYPE=test (test cert signed by Snake Oil CA) |"; \
echo "| % make certificate TYPE=custom (custom cert signed by own CA) |"; \
echo "| % make certificate TYPE=existing (existing cert) |"; \
echo "| CRT=/path/to/your.crt [KEY=/path/to/your.key] |"; \
echo "| |"; \
echo "| Use TYPE=dummy when you're a vendor package maintainer, |"; \
echo "| the TYPE=test when you're an admin but want to do tests only, |"; \
echo "| the TYPE=custom when you're an admin willing to run a real server |"; \
echo "| and TYPE=existing when you're an admin who upgrades a server. |"; \
echo "| (The default is TYPE=test) |"; \
echo "| |"; \
echo "| Additionally add ALGO=RSA (default) or ALGO=DSA to select |"; \
echo "| the signature algorithm used for the generated certificate. |"; \
echo "| |"; \
echo "| Use 'make certificate VIEW=1' to display the generated data. |"; \
echo "| |"; \
echo "| Thanks for using Apache & mod_ssl. Ralf S. Engelschall |"; \
echo "| rse@engelschall.com |"; \
echo "| www.engelschall.com |"; \
echo "+---------------------------------------------------------------------+"; \
fi \
fi \
fi

certificate:
@cd $(TOP)/$(SRC); $(MAKE) $(MFLAGS) certificate TYPE="$(TYPE)" ALGO="$(ALGO)" CRT="$(CRT)" KEY="$(KEY)" VIEW="$(VIEW)"



So... kannst du mir nun sagen was ich in der letzten Zeile dazuschreiben soll?

Rebell
15.10.02, 10:30
Ohh mann ich werd hier langsam blöde...
Ich hab folgendes in einer Anleitung zu Apache gefunden:
I will explain later on how to get Apache to start in ssl mode without having to type the passphrase everytime.

Aber zu dieser "Erklärung" kommts in der Anleitung nicht.
Außerdem steht in meiner httpd.conf folgendes:



SSLPassPhraseDialog builtin


ich wär euch wirklich dankbar!

Jasper
15.10.02, 10:38
Original geschrieben von Rebell

certificate:
@cd $(TOP)/$(SRC); $(MAKE) $(MFLAGS) certificate TYPE="$(TYPE)" ALGO="$(ALGO)" CRT="$(CRT)" KEY="$(KEY)" VIEW="$(VIEW)"
[/code]


So... kannst du mir nun sagen was ich in der letzten Zeile dazuschreiben soll?

gar nichts, weil das nicht die richtige stelle ist. dieses makefile ruft ein anderes makefile auf, nämlich das in apache/src. und in diesem gibt es einen abschnitt namens 'certificate':

certificate:
@./support/mkcert.sh \

dieser abschnitt wiederum ruft das skript 'support/mkcert.sh' auf. und in diesem wird das cert erzeugt und zwar mittels openssl-aufrufen und genau die musst du ändern (abhängig davon welchen typ schlüssel mit welchem crypto-verfahren du willst). da hilft aber die openssl-doku weiter.

-j

aycaramba
15.10.02, 10:42
warum so kompliziert ?
Erstell doch einfach alles so wie immer und dann dekodierst Du den Schlüssel manuell:

openssl rsa -in server.key.old -out server.key

und fertig.

Gruss
Marc

Rebell
15.10.02, 10:57
Danke hat funktioniert...

Jasper
15.10.02, 12:20
Original geschrieben von aycaramba
warum so kompliziert ?
Erstell doch einfach alles so wie immer und dann dekodierst Du den Schlüssel manuell:

openssl rsa -in server.key.old -out server.key

und fertig.


exakt das hatte ich in meinem 2. posting geschrieben.

-j