De oorzaak van problemen met dehydrated bij ACME-servers, anders dan LetsEncrypt, is gevonden

Sebastian Krause bepaalde de bron van een vreemde incompatibiliteit met de service Bypass script dehydrated, gebruikt voor de automatisering van het verkrijgen van TLS-certificaten via het ACME-protocol. Met Bypass werken zowel de referentieklant als uacme, maar niet dehydrated (meer precies, deze werkte ook met enkele omzeilmanoeuvres, maar uitsluitend in de dns-1 modus).

De reden bleek banaal: in plaats van het antwoord in JSON-formaat echt te parseren, gebruikte de auteur van dehydrated een specificiteit van de formattering van een bepaald JSON-uitvoer van de Let’s Encrypt service en voerde het parsing uit met behulp van een reguliere expressie. Maar Bypass retourneert niet mooi geformatteerde, maar geminimaliseerde JSON, en de gebruikte reguliere expressie werkte niet. De genoemde aanpak sluit ook het ontstaan van problemen met LetsEncrypt niet uit, als deze service in de toekomst zonder waarschuwing het uitvoerformaat verandert, terwijl het nog steeds binnen de officiĆ«le protocolvoorwaarden blijft.

Tijdens de discussie over het probleem werd voorgesteld om een externe JSON-parser te gebruiken, zoals json_pp of jq (voeg in pipe ā€˜jq -r Ā«.authorizations | .[]Ā»ā€˜ toe voor correcte parsing).
Een nadeel van deze aanpak is de verwatering van het idee om met minimale en gemakkelijk te verifiƫren middelen te werken, evenals problemen met foutafhandeling.

De auteur van het dehydrated-project (het project is onlangs verkocht aan Apilayer GmbH) stemde ermee in, dat het parseren van JSON een groot probleem is, maar hij beschouwt het niet als een goed idee om externe parsers toe te voegen, aangezien een van de kernvoordelen van het script is dat het geen afhankelijkheid van externe bronnen heeft. Momenteel is hij bezig, maar hoopt binnen een paar dagen tijd te besteden aan het oplossen van het probleem. In de planning is er een herziening van de JSON-parser of de integratie van een kant-en-klare parser geschreven in shell — JSON.sh.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster