*Markus: Apache-SSL Was läuft falsch?

Beitrag lesen

Hallo,

da hier einige Servergurus zu finden sind, hoffe ich, hier die Antwort auf mein Problem zu finden.
Ich will auf einem Apache/Linux SSL einrichten, und zwar ein Serverzertifikat, wie man es bei SSL-Verschlüsselungen von Webseiten gewohnt ist. Dabei stoße ich ständig auf Probleme. Einmal kann ich die das geschützte Verzeichnis sogar über HTTP erreichen, versuche ich https://, bekomme ich nur eine Fehlermeldung, die in dieser Weise ungewollt ist.
Bei meinem jetzigen Versuch kann Apache nicht mal mehr starten. Während des Hochfahren des Apache bleibt dieser einfach hängen. [BUSY] in der Bash bleibt stehen, kein [DONE], kein [FAIL].
Ich habe bisher folgende Schritte ausgeführt:

#Private Serverkey erstellen
$ openssl genrsa -des3 -rand file1:file2:file3:file4:file5 -out server.key 1024

Was es mit diesem file1:file2... auf sich hat, habe ich nicht verstanden. Es wird zwar hier erklärt http://slacksite.com/apache/certificate.php, aber was damit gemeint ist, verstehe ich nicht:

The key is generated using the following command, where file1:file2:etc represents the random compressed files.

Danach....
#Zertifikat erstellen (Certifcate Signing Request)
$ openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:AT
State or Province Name (full name) [Some-State]:Wien
Locality Name (eg, city) []:Wien
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Spenger AG
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:secure.domain.tld (Das hier ist das Verzeichnis und gleichzeitig die aufzurufende Adresse auf meinem localhost. Sollte ich hier etwa localhost/secure.domain.tld angeben?
Email Address []:secure@pithax.invalid

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

#Zertifikat überprüfen:
$ openssl req -noout -text -in server.csr

...Schien in Ordnung zu sein.

#Zertifikat selbst signieren, und eine Gültigkeit von 150 Tagen festlegen
$ openssl x509 -req -days 150 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=AT/ST=Wien/L=Wien/O=Spenger AG/CN=secure.domain.tld/emailAddress=secure@pithax.invalid
Getting Private key
Enter pass phrase for server.key:

#Alle 3 Files jetzt nach /etc/httpd/conf verschieben
In /etc/httpd/conf/ folgendes Verzeichnisse erstellen:

ssl.crt, ssl.key.

Die Datei server.crt in ssl.crt kopieren.
Die Datei server.key in ssl.key kopieren.
#In der httpd.conf von Apache folgende Zeile auskommentieren:

Secure (SSL/TLS) connections

Include conf/extra/httpd-ssl.conf

Die Datei /etc/httpd/conf/extra/http-ssl.conf editieren. Sie sieht jetzt so aus:

Listen 443

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

SSLPassPhraseDialog  builtin

SSLSessionCache        "shmcb:/var/run/httpd/ssl_scache(512000)"
SSLSessionCacheTimeout  300

SSLMutex  "file:/var/run/httpd/ssl_mutex"

<VirtualHost _default_:443>
   <Directory /srv/http/secure.domain.tld>
      Options FollowSymLinks Indexes ExecCGI
      Order allow,deny
      Allow from all
      AllowOverride All
   </Directory>
#   General setup for the virtual host
DocumentRoot "/srv/http/secure.domain.tld"
ServerName secure.domain.tld:443
ServerAdmin secure@pithax.net
ErrorLog "/var/log/httpd/error_log"
TransferLog "/var/log/httpd/access_log"

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile "/etc/httpd/conf/ssl.crt/server.crt"
#SSLCertificateFile "/etc/httpd/conf/server-dsa.crt"

SSLCertificateKeyFile "/etc/httpd/conf/ssl.key/server.key"

SSLCACertificatePath "/etc/httpd/conf/ssl.crt"
SSLCACertificateFile "/etc/httpd/conf/ssl.crt/server.crt"

<FilesMatch ".(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/srv/http/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch ".*MSIE.*" \          nokeepalive ssl-unclean-shutdown \          downgrade-1.0 force-response-1.0

CustomLog "/var/log/httpd/ssl_request_log" \           "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"

</VirtualHost>

Ich hoffe, jemand kann mich über meine hier gemachten Fehler aufklären.

Markus

--