Orsaken till dehydrated-problemen med ACME-servrar som inte är LetsEncrypt har hittats

Sebastian Krause har fastställt källan till den konstiga inkompatibiliteten med tjänsten Bypass av skriptet dehydrated, som används för att automatisera hämtning av TLS-certifikat via ACME-protokollet. Bypass fungerar både med referenskunden och uacme, men inte med dehydrated (snarare, det fungerade också med vissa genvägar, men uteslutande i dns-1-läget).

Anledningen visade sig vara banal: istället för att verkligen analysera svaret i JSON-format, använde skaparen av dehydrated en speciell formatteringsfunktion av JSON-utdata från Let's Encrypt-tjänsten och analyserade det med hjälp av reguljära uttryck. Men Bypass returnerar inte vackert formaterad, utan minifierad JSON, och det använda reguljära uttrycket funkade inte. Den angivna metoden utesluter inte uppkomsten av problem även med LetsEncrypt, om denna tjänst i framtiden utan förvarning ändrar formatet på sin utdata, och fortfarande håller sig inom ramen för det officiella protokollet.

Vid diskussionen av problemet föreslogs det att använda en extern JSON-parser, såsom json_pp eller jq (lägg till i pipen ‘jq -r " .authorizations | .[] "‘ för korrekt analys).
Nackdelen med en sådan metod är att idén om att klara sig med minimala och lätt verifierbara medel försvinner, liksom problem med felhantering.

Skaparen av projektet dehydrated (projektet såldes nyligen till företaget Apilayer GmbH) höll med, att analysen av JSON är ett stort problem, men han anser inte att det är en bra idé att lägga till externa parsers eftersom en av de viktigaste fördelarna med skriptet är avsaknaden av beroenden. För närvarande är han upptagen men hoppas kunna ägna tid åt att lösa problemet inom de närmaste dagarna. Det finns planer för att omarbeta JSON-parsaren eller integrera en färdig parser i shell-språket — JSON.sh.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster