[Gratismodul] Let's Encrypt!

  • Hallo Fabian,
    Den Datensatz habe ich auch schon gelöscht. hat aber nix gebracht.
    Die Anlage ist produktiv und auf den aktuellen Stand.


    Ich lösche es nochmal, setzte Loglevel auf Debug uns sende dir das Log als PN.


    Danke schon einmal.


    Gruß


    Stefan

  • Hallo auch von mir nochmal:


    Ich habe genau das selbe Problem wie Delta:


    wenn der Haken "Challenge Erfüllt" nicht gesetzt ist, bleibt im log alles korrekt bei "Waiting for Pending Challenge" stehen. Wenn man aber die Konfiguration jetzt nochmal speichert, ohne den Haken "Challenge Erfüllt" zu setzen, läuft das script nochmals los und es wird im Log eine neue challenge ausgegeben. Wenn man den Haken setzt, passiert eigentlich genau das gleiche, nur dass er dann anfängt die neue Challenge, die er erst gerade erzeugt hat, zu validieren. Irgendwas muss hier schief gehen, dass nicht gemerkt wird, dass schon eine challenge erzeugt wurde und die noch offene Verbindung doch bitte verwendet werden soll. Hier ein log mit zwei Speichervorgängen hintereinander. Bei beiden war die Checkbox nicht angehakt.



    Die beiden Vorgänge hab ich nachträglich mit leerzeilen voneinander abgehoben und auch wieder die domainnamen verfremdet.


    Was mir auffällt: nachdem die Lizenz überprüft wurde, wird der ACME-Client gestartet (zeile 7) und danach wird die Verbindung (wsl die, die von der abfrage davor noch offen war) geschlossen. Das kommt mir spanisch vor. Hier muss doch über den kompletten validierungsvorgang die Verbindung offen gehalten werden. wenn man alles neu abfragt, dann gibt einem der acme-server doch wieder eine neue challenge???. So zumindest sieht es für mich aus.


    Aus den Anleitungs-Gifs kann man das leider nicht erkennen, da die an zwei unterschiedlichen Tagen aufgenommen wurden...


    Ich hoffe, dass das weiterhilft. Vielleicht könnte ich auch durch codereview weiterhelfen. Da das Modul aber anscheinend "closed source" ist, ist das so direkt ja nicht möglich..


    Danke schonmal für die Mühen, Fabian.


    Mfg Daniel

  • Hallo Daniel


    Danke fürs Feedback.


    Ich Arbeite bereits daran, mit der neuen SF-Version habe ich ein dependency issue, weshalb er mir immer etwas verwürgt.


    Ich habe die ACME4J Version geupdatet, renne aber noch in einen "Java.lang.NoSuchFieldError", während des ACME Sessionenvorgangs.


    Ich hoffe ich kann das in den nächsten Tagen beheben, und eine neue Version Releasen.


    Spezifisch, die Fehlermeldung bezieht sich aufs BouncyCastle.


    Die Version auf der Starface ist: bcprov-jdk15on-1.51.jar ich erhalte einen Mismatch: java.lang.NoSuchFieldError: id_dsa_with_sha3_224


    Ich muss den Acme4J Client gegen mit der alten BouncyCastle Version Compilen.


    MfG


    Fabian

  • Hallo Christian,


    Wenn ein Modul geupdatet wird, dann bleiben in dem Moment Eingeschalteten Dienste/Funktionen von alten Versionen noch aktiv, wenn diese sich nicht selbst beenden.


    Das lässt sich ganz leicht Zeigen, indem man ein Modul mit einer Schleife macht, die jede Sekunde um 1 Hochzählt. (while Schleife nicht Timer)


    Also Z.b.


    1 , 2, 3 , [Modulupdate] 4, 1, 5, 2, 6, 3


    Die neue Version des Zählers wird in Betrieb genommen, aber die alte Version zählt immer noch weiter, da dessen Thread nicht beendet wurde.


    Bei der alten Version hat sich dieser Dienst nach Ausführung der Konfiguration nicht korrekt beendet (Erzeugte Problem mit der Challenge), weshalb dieser nun parallel zum neuen Dienst des geupdateten Moduls herumhängt. Dies könnte unangenehme Nebeneffekte aufrufen. Und gerade wenn's um den Webserver geht, würde ich es nicht riskieren, dass das Modul irgendwie den Tomcat zerschiesst.


    Wenn nun die Anlage komplett neu gestartet wird, werden diese "hängenden" Dienste abgeschossen, und nur noch der Aktuelle Dienst wird bei der nächsten Ausführung des Moduls gestartet.


    MfG


    Fabian

  • Habe das aktuelle Modul importiert und die Anlage neu gestartet.


    Ich erhalte nun folgende Fehlermeldung:


    [2018-01-23 15:42:12,780] DEBUG [TriggerChallenge] org.shredzone.acme4j.exception.AcmeServerException: JWS has invalid anti-replay nonce NBm8v-mldT1NdvrixKOWOs9uoo8_nN1PXW6Dc4z6myA
    at org.shredzone.acme4j.connector.DefaultConnection.createAcmeException(DefaultConnection.java:414)
    at org.shredzone.acme4j.connector.DefaultConnection.accept(DefaultConnection.java:207)
    at org.shredzone.acme4j.challenge.Challenge.trigger(Challenge.java:196)
    at nucom.module.letsencryptv3.authorization.TriggerChallenge.execute(TriggerChallenge.java:48)
    at de.vertico.starface.module.core.runtime.executables.JavaFunctionExec.executeImpl(JavaFunctionExec.java:146)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:116)
    at de.vertico.starface.module.core.runtime.LoadedModule.invokeFunction(LoadedModule.java:213)
    at de.vertico.starface.module.core.runtime.LoadedFunction.invoke(LoadedFunction.java:75)
    at de.vertico.starface.module.core.runtime.RuntimeEnvironmentImpl.invokeFunction(RuntimeEnvironmentImpl.java:234)
    at de.vertico.starface.module.core.runtime.executables.FunctionCallExec.executeImpl(FunctionCallExec.java:128)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:116)
    at de.vertico.starface.module.core.runtime.executables.ContainerExec.executeImpl(ContainerExec.java:82)
    at de.vertico.starface.module.core.runtime.executables.SwitchCaseExecutable.executeImpl(SwitchCaseExecutable.java:44)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:116)
    at de.vertico.starface.module.core.runtime.executables.ContainerExec.executeImpl(ContainerExec.java:82)
    at de.vertico.starface.module.core.runtime.executables.SwitchExecutable.executeImpl(SwitchExecutable.java:59)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:116)
    at de.vertico.starface.module.core.runtime.executables.ContainerExec.executeImpl(ContainerExec.java:82)
    at de.vertico.starface.module.core.runtime.executables.FunctionExec.executeImpl(FunctionExec.java:57)
    at de.vertico.starface.module.core.runtime.executables.BaseExec.execute(BaseExec.java:116)
    at de.vertico.starface.module.core.runtime.ModuleRuntime.callEntryPoint(ModuleRuntime.java:337)
    at de.vertico.starface.module.core.runtime.ModuleRuntime.callEntryPoint(ModuleRuntime.java:508)
    at de.vertico.starface.module.core.runtime.ModuleRuntime.callLifeCycleEntryPointsForInstance(ModuleRuntime.java:2059)
    at de.vertico.starface.module.core.runtime.ModuleRuntime.access$000(ModuleRuntime.java:122)
    at de.vertico.starface.module.core.runtime.ModuleRuntime$1.run(ModuleRuntime.java:2033)
    at java.lang.Thread.run(Thread.java:748)

    Gruss Christian

  • Hallo Christian


    Das ist ein Problem des ACME Systems vom Let's Encrypt, nicht des Moduls.


    Wenn dieser Fehler Auftritt, versuch es einfach nochmals. (Abspeichern / Mit dem Haken Challenge Abgeschlossen)


    Ich werde noch einen Auto-Retry Einbauen, wenn der Server deinen Request Ablehnt.


    Dieser Fehler entsteht dadurch, wenn der Let's Encrypt Server mit dem Client ein nonce für die Verschlüsselung Austauscht.


    Der Server merkt sich aber diese nonce nur eine gewisse Zeit, und dann verwirft er diese wieder. Wenn nun ein hohes Aufkommen von Anfragen kommt, dann verwirft er diesen nonce Serverseitig auch wieder schneller, Das erzeugt dann den entsprechenden Fehler.


    MfG


    Fabian


  • Hat auch beim 2. und 3. mal nicht geklappt, ich warte mal ein bisschen.

  • Hallo Christian


    Bei mir hats geklappt.


    Ich hab die Challenge erstellt, 30 Mins gewartet, versucht die Challenge zu Triggern, Fehlermeldung, erneut abgespeichert, I.O.



    MfG


    Fabian

  • Hallo,


    hat bei mir per DNS Challenge auch wunderbar funktioniert!
    Vielen Dank - das ist wirklich ein super Modul!


    Bin gespannt ob das automatische Renewal auch funktioniert... Test läuft...


    Grüße
    Michael Sommer

  • Hi Fabian


    Erstmal vielen Dank, dass du das sehr nützliche Modul zur Verfügung stellst!
    Bei uns geht zunächst alles durch, ein CSR wird erstellt aber dann wirft der Request eine Exception:



    Ich habs mehrmals versucht – mit Löschen und 1 Tag Wartezeit dazwischen – immer mit dem selben Ergebnis. Eine Recherche ergab bisher keinen Lösungsansatz. Kennt jemand das Problem resp. weiss Abhilfe?


    Liebe Grüsse
    Martino


    PS: SF und Modul up to date; Produktivumgebung des ACME-Service gewählt

  • Halo eye


    Welche Challenge Art wurde gewählt?


    HTTP/DNS?


    Hast du oben schon mal den Datensatz gelöscht?" (Datensatz löschen)
    Bitte vorher unten die Häkchen bei "Akzeptiere ACME EULA, Challenge Erfüllt" entfernen.


    Danach nochmals versuchen.


    Dieser Fehler kann auch durch einen Any DNS Eintrag (*.eye.ch) verursacht werden.


    MfG


    Fabian

  • Hallo Fabian


    Die Challenge ging via DNS und die hat problemlos geklappt. Eine Wildcard für die Domain benutzen wir in unserem Zonenfile nicht. Datensatz löschen auch schon versucht; allerdings ohne die beiden Checkboxen abzuhaken – das haben wir nun gemacht.
    Nach einem erneuten Versuch warf er nun zuerst eine nonce Exception (das wurde ja früher im Thread schon mal besprochen) und hat danach wieder die Challenge erfüllt, das CSR erstellt aber beim selben Punkt wie im Eingangspost erwähnt ("Trying to Request Certificate") die selbe Exception geworfen:

    Code
    [2018-02-08 12:54:49,250] DEBUG [RequestCertificate] org.shredzone.acme4j.exception.AcmeUnauthorizedException: Error creating new cert :: authorizations for these names not found or expired: starface.eye.ch


    Erneuter Versuch nach Speichern: nonce-Exception kommt nicht mehr aber die erwähnte unauthorized-Exception bleibt hartnäckig.


    Gruss
    Martino

  • Hallo Martino


    Ich konnte es auf meiner 6.4.3.34 nicht nachvollziehen. Dort geht es nach wie vor einwandfrei.


    Hatte sich die Challenge nach dem Löschen des Datensatzes geändert?


    Könntest du Prüfen, ob vor und hinter den Feldern im Modul keine Leerzeichen sind?


    Wenn ich die Fehlerhaften Zeilen zurückverfolge:


    Code
    conn.sendSignedRequest(getSession().resourceUrl(Resource.NEW_CERT), claims, getSession()); (244)
    int rc = conn.accept(HttpURLConnection.HTTP_CREATED, HttpURLConnection.HTTP_ACCEPTED); (245)


    Den Fehler gibt wirklich der Let's Encrypt Server zirück, die Oben bei 2.Authorisierung eingegebene Domäne stimmt nicht mit der bei 3. Zertifikat Anfordern eingegebenen Zertifikatsdomäne überein. (Oder ist auch keine Überliegende Domäne)


    MfG


    Fabian

  • Hallo Fabian


    Danke für deine Mühe! Authorisierungs- und Zertifikats-Domänen stimmen überein (habs im Browser mit dem Inspector nachkontrolliert). Die Challenge hat sich nicht geändert (sie wird ja auch stets erfüllt). Wir hatten testweise das Modul auch deinstalliert, Starface neu gestartet und das Modul wieder eingerichtet und konfiguriert. Nachdem noch eine Exception "No registration exists matching provided key" geworfen wurde, hatten wir auch noch eine neue E-Mail-Addresse für den Account verwendet. Danach waren wir wieder am selben Ort:



    Gruss,
    Martino

  • Hallo allerseits!


    Erstmal auch von mir vielen Dank für das tolle Modul!


    Ich habe jetzt so ziemlich alles von mir in diverse Clouds verlagert, so auch meine STARFACE.


    Die ist unter


    https://meinname.starface-cloud.com/


    erreichbar.


    Natürlich habe ich auch eine Domain, die heisst


    https://sfcloud.meinefirma.de


    und witzigerweise ziehe ich gerade mit allen meinen Domains von Host Europe zu All-Inkl, die haben ja Let's Encrypt kostenlos integriert, das nutze ich auch schon massiv.


    Gibt es da irgendeine Lösung, dass die Konferenzseite der STARFACE ohne Interaktion Grün wird beim Aufruf durch Kunden?


    Eine Umleitung und einen CNAME-Eintrag habe ich aus Spaß auch schon mal gemacht... ;) Bringt ja aber nichts. Vor allem würde ich auch gerne noch HSTS aktivieren.


    Was natürlich unbedingt nötig ist: Dass STARFACE das in der 6.5 integriert... Oder wartet STARFACE noch auf deren Wildcard-Zertifikate? ;)


    Danke und viele Grüße aus Köln,


    d i r k

    Viele Grüße


    d i r k

    2 Mal editiert, zuletzt von d i r k ()

  • Hi in die Runde,


    habe das Modul gerade bei unserer 6.5er Beta getestet - läuft soweit! - was etwas schade ist (aber das ist wohl bei lets encrypt so) diese Geschichte mit 3 Monaten "Laufzeit" - dann schauen wir mal, aber die Automatische, Monatliche Aktualisierung sollte ja funktionieren ;)


    Wäre schön, wenn Starface das Thema in eine der kommenden Versionen integrieren würde - AVM macht es mit den Fritzboxen gerade ja auch (aktuelle Labor-Firmware).


    -Matthias

    Starface Excellence Partner & plusnet Exklusive Partner :)
    Kontakt: 07141-23999-0 (Telefon) / -99 (Fax) / URL: www.ucs-team.de / Mail: info@ucs-team.de
    NGN-Pakete für Starface - bitte kontaktieren - SIP-Trunks für alle Starface-Anlagen / auch für Starface Cloud (ohne dedizierte IPv4-Adresse!)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!