Jump to content
Froxlor Forum
  • 0

[solved] [SSL] froxlor h?lt Zertifikat und Private Key f?r nicht zusammengeh?rig


Loilo

Question

Hallo liebe Community :)
 
Ich habe vor einigen Monaten bei netcup f?r meinen vServer ein SSL-Zertifikat bestellt. Das habe ich manuell (ohne froxlor) eingerichtet.
Da sich das mit am Anlegen von Subdomains ?ber froxlor aber nicht vertragen hat, musste ich das SSL nochmal ?ber Froxlor einrichten.
Dazu habe ich mich zuerst an Forennutzer bei netcup gewandt und entsprechend Hilfestellung bekommen.
 
Das Problem ist nun folgendes:
Beim Eingeben des Zertifikatinhaltes und des Private Keys bei der entsprechenden Domain in Froxlor bekomme ich die Fehlermeldung
Der angegebene Key (Private-Key) geh?rt nicht zum angegebenen Zertifikat.

Der angegebene Key und das Zertifikat geh?ren aber zweifelsfrei zusammen, ich hab das auch noch einmal ?ber die SSH-Konsole ?berpr?ft.

Daher gehe ich (und auch der netcup-Support) davon aus, dass der Fehler auf Seite von froxlor liegt.
 
Andere Kunden im netcup-Forum haben das Problem nicht, ist euch ein ?hnlicher Fehler bekannt?
 
Liebe Gr??e,
Florian
Link to comment
Share on other sites

10 answers to this question

Recommended Posts

Teste die Zugeh?rigkeit der Zertifikate doch bitte mal mit folgendem php-script. Trage einfach die Pfade zu den zu testenden Zertifikaten entsprechend ein. CA und Chainfile sind optional, du solltest allerdings bei einem nicht-selbstsigniertem Zertifikat ein Chainfile bekommen haben...sag uns bitte was bei der Ausf?hrung 

<?php

// private key
$private = "/pfad/zum/private.key";
// certificate
$cert = "/pfad/zum/cert.pem";
// CA cert
$ca = "";
// Chainfile
$chain = "";

/**
  * Nichts mehr ?ndern ab hier !!!
 */

$ssl_key_file = file_get_contents($private);
$ssl_cert_file = file_get_contents($cert);

if ($ca != "") {
	$ssl_ca_file = file_get_contents($ca);
} else { $ssl_ca_file = ""; }

if ($chain != "") {
	$ssl_cert_chainfile = file_get_contents($chain);
} else { $ssl_cert_chainfile = ""; }

$cert_content = openssl_x509_parse($ssl_cert_file);

if (is_array($cert_content) && isset($cert_content['subject']) && isset($cert_content['subject']['CN'])) {
	// bool openssl_x509_check_private_key ( mixed $cert , mixed $key )
	// Checks whether the given key is the private key that corresponds to cert.
	if (openssl_x509_check_private_key($ssl_cert_file, $ssl_key_file) === false) {
		die("ssl certificate invalid cert/key-pair\n");
	}

	// check optional stuff
	if ($ssl_ca_file != '') {
		$ca_content = openssl_x509_parse($ssl_ca_file);
		if (!is_array($ca_content)) {
			// invalid
			die("ssl certificate invalid ca\n");
		}
	}

	if ($ssl_cert_chainfile != '') {
		$chain_content = openssl_x509_parse($ssl_cert_chainfile);
		if (!is_array($chain_content)) {
			// invalid
			die("ssl certificate invalid chain\n");
		}
	}

	die("all good\n");
} else {
	die("ssl certificate invalid cert\n");
}

Link to comment
Share on other sites

Das Skript gibt mir ein "ssl certificate invalid cert/key-pair".

Ich nehme mal an dass das "inhaltlich" dasselbe ist, was froxlor macht?

Gibt's da Ans?tze das zu l?sen? Private Key und Zertifikat sind zweifellos wie geliefert unver?ndert, sollten also ja eigentlich als zusammengeh?rig erkannt werden.

Link to comment
Share on other sites

Versuch doch mal die Zertifikate f?r die Domain direkt in die Datenbank (tabelle 'panel_domains') zu schreiben und lass die Configs neu erstellen - meckert der Apache? Wird die SSL-Seite korrekt angezeigt etc.?

Link to comment
Share on other sites

Zertifikat in dkim_pubkey, Schl?ssel in dkim_privkey eingetragen. (Hatte in dkim_pubkey vorher auch den eigentlichen public key eingetragen, aber das war anscheinend falsch, zumindest hat Apache die Passphrase nicht mehr abgefragt.)

 

Apache l?sst sich anstandslos neustarten und fragt brav die SSL-Passphrase ab, der Browser z?hlt jetzt aber tats?chlich das Zertifikat an, dass es nicht mit der URL ?bereinstimmen w?rde.

Was sagt mir das?

 

Anmerkung:

Im netcup-Forum habe ich Hinweise zum Einrichten von SSL mit Froxlor bekommen. Ich hatte f?lschlicherweise in den allgemeinen SSL-Einstellungen und in der angelegten :443-IP direkt die Pfade zu meinem echten Zertifikat angegeben statt zu den selbst-ausgestellten Snakeoils, wie mir sp?ter erkl?rt wurde.

Damit funktionierte meine Domain aber einwandfrei, wurde zumindest vom Browser ohne weitere Bemerkungen anerkannt. Mir wurde dort aber gesagt, dass ich das ?ndern sollte, weil das vom Server kein korrektes Verhalten erg?be.

Link to comment
Share on other sites

dkim_* ist falsch. Die Zertifikate geh?ren in die Tabelle "domain_ssl_settings" - sorry mein Fehler. Das ist was anderes. Und ein Zertifikat mit passphrase ist eine ganz schlechte Idee, denn Froxlor startet den Webserver im cronjob ja neu wenn Einstellungen ge?ndert werden. Entferne bitte die passphrase vom private key und Versuchs dann nochmal. Vllt mag die Validierung keine Passwortgesch?tzten keys.

Link to comment
Share on other sites

Das hat's gebracht. Seite ist ohne Einschr?nkung erreichbar.

Seltsam ist nur, dass der Apache immernoch beim Neustart die Passphrase verlangt, obwohl ich sie eigentlich entfernt habe. Naja, das hat vielleicht nicht auf den ersten Versuch funktioniert.

 

Auf jeden Fall herzlichen Dank f?r die schnelle und kompetente Hilfe! :)

Link to comment
Share on other sites

Seltsam ist nur, dass der Apache immernoch beim Neustart die Passphrase verlangt, obwohl ich sie eigentlich entfernt habe. Naja, das hat vielleicht nicht auf den ersten Versuch funktioniert.

 

 

Deshalb wird es wohl von Froxlor nicht akzeptiert - weil ne Passphrase im private-key ist.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...