[RESOLVED] ISPconfig Letsencrypt funktioniert nicht per ISPconfig

typoworx

Member
Moin,
Ich habe kürzlich ISPconfig komplett frisch mit 2x Nodes aufgesetzt. Per CLI funktioniert Letsencrypt/Certbot. Aber per ISPconfig muckelt es irgendwie rum:

Ich bekomme folgende Meldung per E-Mail nach dem Versuch eine Site mit mehreren Domains für SSL+Letsencrypt zu aktivieren.
WARNING - Let's Encrypt Cert file: could not find the issued certificate

Die Domain sind auf den korrekten Server aufgeschaltet. Und wie gesagt - per CLI von Hand funktioniert das erstellen von Zertifikaten. Ich habe testhalber sogar schon per CLI unter dem selben Domain-Namen ein Zertifikat (mit mehreren Domain) erstellt - so wie ich es für das ISPconfig Web-vHost brauchen würde. Dort klappt es einwandfrei.

Müsste ISPconfig dieses Zertifikat nicht verwenden, wenn certbot erkennt, dass es schon genau dieses Zertifikat gibt?!
 

Till

Administrator
Grundsätzlich niemals Zertifikate für Webseiten, die mit ISPConfig verwaltet werden, manuell erstellen. Also als Erstes die manuell erstellten Zertifikate löschen damit ISPConfig und LE wieder vollständig funktioniert. Dann folgst Du der FAQ um heraus zu finden warum kein Zertifikat erstellt wurde:


Müsste ISPconfig dieses Zertifikat nicht verwenden, wenn certbot erkennt, dass es schon genau dieses Zertifikat gibt?!
Nein. Die Zertifikate müssen auf jeden Fall als Erstes restlos gelöscht werden. Dann schaust du, warum du kein Zertifikat erhalten hast; dafür gibt es ja die FAQ.
 

typoworx

Member
Moin @Till,
danke für die Tipps. Ich habe natürlich auch schon ein wenig debugged. Ich habe das Problem nun gefunden. Ich verwende certbot anstelle von acme.sh, da ich für ispconfig ebenfalls schon darüber ein Zertifikat erstellt hatte. Ich glaube inzwischen wird acme.sh bevorzugt verwendet?!

Wie dem auch sei. Das Problem ist offenkundig, dass certbot ab Version 2.x per default ECDSA Zertifikate erstellt - das IspConfig PHP-Script erwartet jedoch per default ein RSA Zertifikat und überprüft dies auch - weshalb das ganze bei mir fehlgeschlagen ist.

Ich habe folgenden kleinen Patch vorgenommen - nun scheint das ganze bei mir zu funktionieren:

/usr/local/ispconfig/server/lib/classes/letsencrypt.inc.php
435c435
< $desired_signature_type = $web_config['le_signature_type'] ?: 'ECDSA';
---
> $desired_signature_type = $web_config['le_signature_type'] ?: 'RSA';

Ich weiß nicht wie das bei acm.sh ist. Falls das ganze von dir als Patch übernommen wird, sollte man vorsorglich vielleicht prüfen, ob certbot verwendet wird und ob dieses in Version >2 vorliegt (was ja im idealfall eh wg. aktuellste Version der Fall sein sollte ...).

Hier ist übrigens das offizielle Announcement über dass ich gestolpert bin und welches mich dann zur Lösung geführt hat: ECDSA certificates by default and other upcoming changes in Certbot 2.0
 

typoworx

Member
@Till ich habe meinen Patch noch mal nachgebessert. Ich habe gesehen, dass du sinnvollerweise ja schon die certbot (und auch acme.sh) Versionen prüfst und etwaige Parameter daran anpasst.

/usr/local/ispconfig/server/lib/classes/letsencrypt.inc.php
---
if($cert_type == 'ECDSA' || version_compare($letsencrypt_version, '2.0', '>=')) {
$app->log('LE version is ' . $letsencrypt_version . ', so using --elliptic-curve secp256r1 instead of --rsa-key-size 4096', LOGLEVEL_DEBUG);
$certificate_type_arg = "--elliptic-curve secp256r1";
$name_suffix = '_ecc';
$cert_type = 'ECDSA';
}
---
 
Zuletzt bearbeitet:

Till

Administrator
Ich glaube inzwischen wird acme.sh bevorzugt verwendet?!

Jein, beide LE-Clients sind gleichberechtigt implementiert und werden unterstützt. Acme.sh wird jedoch bei Neuinstallationen standardmäßig verwendet.

Die Meldung ist ja uralt, und ich habe Certbot letztens noch auf einem neuen ISPConfig System problemlos verwendet. Das geht aktuell also in ISPConfig.

Das Problem bei Dir ist ja, dass du das Zertifikat manuell erstellt hast mit anderen Werten als ISPConfig es erstellt und dass dein manuell erstelltes Zertifikat daher nicht gefunden wurde da es dann in einem anderen Pfad liegt. Wenn du das Zertifikat mit ISPConfig erstellt hättest, dann wäre es auch gefunden worden. Daher auch mein Hinweis: Bitte erstelle die Zertifikate nicht manuell. Und warum das Zertifikat bei Dir nicht automatisch erstellt werden konnte, hat mit diesen Parametern nichts zu tun; den Grund wirst Du nur finden, wenn Du der Debuganleitung folgst.
 

typoworx

Member
Hallo Till
danke für deine Unterstützung.

Die manuellen Zertifikate habe ich vorhin bereits alle gelöscht. Daran lag es nicht. Das mit dem ISPconfig Update ist natürlich ein berechtigter Einwand - das mit Certbot wurde inzwischen ja scheinbar gefixt.
Das Update kann ich leider erst durchführen, wenn ich meine Mail-Server Config aufgeräumt habe (anderes Ticket - du erinnerst dich evtl.). Erst mal muss nun alles laufen wieder, da der Server auf dem das ursprünglich lief wg. einem RAID-Crash unbrauchbar wurde.

Das ISPconfig hatte ich ja erst vor ein paar Wochen aufgesetzt neu ...
Aber dann weiß ich jetzt zumindest woran es liegt wg. Certbot.
 

typoworx

Member
Hmm... echt merkwürdig - nein ich habe eigentlich nicht explizit bewusst eine ältere installiert. Naja sei's drum. Sobald ich meine Instanz wg. meiner Mail-Server Konfiguration aufgeräumt habe mache ich das Update. Ich will aktuell nur lieber nicht riskieren da etwas zu zerhauen, bis ich das alles angepasst und getestet habe.
 

Werbung

Top