ithg13
Goto Top

SSL-Zertifikat für XAMPP mit Windows CA

Hi Leute,

ich möchte mich ein wenig näher mit Linux-Webservern beschäftigen und habe mir dafür auf einen Ubnutu-Server die Entwicklungsumgebung "XAMPP" installiert.

Da das Cloudthema schon seit langem in aller Munde ist soll der Server eine "Owncloud-Installation" hosten.

Vorweg: Grundsätzlich läuft der Webserver & Owncloud prima.

Ich habe nur einige Probleme mit der Integration von SSL.

Wir setzen in unserem Unternehmen eine Windows-CA zur Zertifikatsverwaltung ein. Ich möchte bei meinen Tests so "Unternehmensnah" wie möglich sein.
Das soll bedeuten: Ich möchte diesen Testwebserver als "Produktivsystem" konfigurieren.

Desweitern habe ich vHosts konfiguriert um später evtl. noch weitere Seiten mit anderem Namen zu betreiben.

Wenn ich mich nicht irre läuft OpenSSL schon auf der XMAPP-Installation da ich in der httpd-vhosts.conf folgenden Virtual-Host definiert habe:

<VirtualHost *:443>
  DocumentRoot "/opt/lampp/htdocs/owncloud"  
   ServerName owncloud
   SSLEngine on
   SSLCertificateFile "/opt/lampp/etc/ssl.crt/Server.crt"  
   SSLCertificateKeyFile "/opt/lampp/etc/ssl.key/server.key"  
</VirtualHost>


Die beiden Zertifikatsdateien "Server.key" und "Server.crt" waren schon vorhanden. Wenn ich nun auf die Owncloud-Seite über HTTPS zugreife gibt der Browser mir logischerweise einen Fehler aus aber grundsätzlich funktioniert die Verbindung.

Ich habe folgende Anleitung zur Zertifikatserstellung durchgeführt:

http://itwelt.org/anleitungen-howto/linux-740817696/558-apache-ssl-zert ...

http://thelazyadmin.com/2007/04/windows-certsrv-ssl-certificates-and-ap ...

Das hat soweit alles gut geklappt.
Zuletzt muss ich die Pfade von "SSLCertificateFile" und "SSLCertificateKeyFile" auf "owncloud.cer" und "owncloud.key" anpassen.

Leider lässt sich der Apache danach aber nicht mehr starten. Im Logfile steht folgendes:

[Thu Aug 14 09:38:38.293738 2014] [ssl:warn] [pid 13896] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Aug 14 09:38:38.293769 2014] [ssl:warn] [pid 13896] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
[Thu Aug 14 09:38:38.294229 2014] [ssl:emerg] [pid 13896] AH02238: Unable to configure RSA server private key
[Thu Aug 14 09:38:38.294267 2014] [ssl:emerg] [pid 13896] SSL Library Error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
[Thu Aug 14 09:38:38.294277 2014] [ssl:emerg] [pid 13896] AH02312: Fatal error initialising mod_ssl, exiting.

Wenn ich es richtig interpretiere kommt der Apache zum einen mit dem Servernamen nicht klar und kann Öffentlichen-Schlüssel mit dem Privaten-Schlüssel nicht verifizieren.

Leider stehe ich jetzt auf dem Schlauch...könnt ihr mir helfen?

Content-ID: 246482

Url: https://administrator.de/contentid/246482

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

Dani
Lösung Dani 14.08.2014 aktualisiert um 14:12:16 Uhr
Goto Top
Moin,
der erste Link von dir funktioniert auf jeden Fall. Habe ich erst vor wenigen Wochen selber genutzt für SSL unter Apache (kein XAMPP).

Wo hast du die beiden SSL-Dateien (owncloud.cer, owncloud.key) abgelegt?
Stimmt der Pfad in der Konfiguration?
Stimmen die Dateirechte? Zum Testen auf 755 setzen.

RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
Servername und der Name im Zertifikat stimmen wohl nicht überein.


Gruß,
Dani
Alchimedes
Lösung Alchimedes 14.08.2014 aktualisiert um 14:12:14 Uhr
Goto Top
Hallo ,

ich möchte mich ein wenig näher mit Linux-Webservern beschäftigen und habe mir dafür auf einen Ubnutu-Server die Entwicklungsumgebung
"XAMPP" installiert.

XAMPP ist fuer Produktivsysteme vollkommen ungeeignet !! Mit xampp machst Du Dir das Tor zur Hoelle auf.

Die Entwickler selbst raten davon ab !

Zum lernen Entwickeln e.t.c ist es jedoch sehr gut geeignet.
Auf dem Server selbst nur nen nacktes linux ohne Gui, apache und mysql e.t.c drauf und abhaerten.


Und wg. dem ssl :
www.example.com:443 does NOT include an ID which matches the server name

Da liegt der Hund begraben !

Gruss
colinardo
Lösung colinardo 14.08.2014 aktualisiert um 14:12:14 Uhr
Goto Top
Moin,
stimme @Dani und @Alchimedes zu, da scheint der CN (Common-Name) nicht mit dem Domain-Name übereinzustimmen.
Kannst du ja mit OpenSSL schnell überprüfen:
openssl x509 -in server.crt -noout -subject
Grüße Uwe
ITHG13
ITHG13 14.08.2014 aktualisiert um 13:01:13 Uhr
Goto Top
Zitat von @Dani:

Wo hast du die beiden SSL-Dateien (owncloud.cer, owncloud.key) abgelegt?

die liegen in /ssl.key/ und /ssl.crt/ - also da wo auch die Zertifikate von XAMPP drin liegen.

Stimmt der Pfad in der Konfiguration?

müssten passen...

Stimmen die Dateirechte? Zum Testen auf 755 setzen.

sind gesetzt...


Servername und der Name im Zertifikat stimmen wohl nicht überein.

Okay, das könnte sein. Den Linux-Server an sich habe ich einfach "web" genannt. Bei der Zertifikatsanforderung habe ich dann im "Common Name" den Virtual-Host-Namen "owncloud.domain.local" verwendet.

Muss ich dann beide Namen angeben? Oder nur den Namen "Web"?

Wenn nur die URL "web.domain.local" im Zertifikat steht wird's doch wieder Probleme geben weil ich den Server über den V-Host "owncloud.vgvhg.local" anspreche....
colinardo
Lösung colinardo 14.08.2014 aktualisiert um 14:12:09 Uhr
Goto Top
Zitat von @ITHG13:
Muss ich dann beide Namen angeben? Oder nur den Namen "Web"?
wenn du mehrere Domains verwenden willst musst du entweder ein Wildcard Zertifikat erstellen oder eins mit SAN (Subject Alternative Names) in das du die weiteren verwendeten Namen einträgst.
http://msxfaq.de/signcrypt/sancert.htm

Grüße Uwe
ITHG13
ITHG13 14.08.2014 um 14:12:06 Uhr
Goto Top
Hat alles funktioniert! Vielen Dank an alle!!