Byla nalezena příčina problémů dehydrated s ACME servery mimo LetsEncrypt

Sebastian Krause určil zdroj podivné nekompatibility se službou Bypass skriptu dehydrated, který se používá pro automatizaci získávání TLS certifikátů prostřednictvím protokolu ACME. S Bypass fungují jak referenční klient, tak uacme, ale ne dehydrated (přesněji, ten také s některými obstrukcemi fungoval, ale výhradně v režimu dns-1).

Příčina se ukázala být banální: místo toho, aby rozebíral odpověď ve formátu JSON skutečně, autor dehydrated využil specifickou vlastnost formátování určitého JSON výstupu od služby Let's Encrypt a prováděl rozbor pomocí regulárního výrazu. Bypass však vrací nehezky naformátovaný, ale minifikovaný JSON, a použitý regulární výraz nefungoval. Zvolený přístup nevylučuje vznik problémů ani s LetsEncrypt, pokud tato služba v budoucnu bez varování změní formát výstupu, přičemž zůstane zcela v rámci oficiálního protokolu.

Při diskusi o problému bylo navrženo použít externí JSON parser, jako je json_pp nebo jq (přidat do pipe ‘jq -r „.authorizations | .[]“‘ pro správný rozbor).
Nevýhodou tohoto přístupu je rozmazání myšlenky vyhnout se minimálním a snadno ověřitelným prostředkům, stejně jako problémy s zpracováním chyb.

Autor projektu dehydrated (projekt byl nedávno prodán společnosti Apilayer GmbH) souhlasil, že rozbor JSON je velkým problémem, ale dodávat externí parsers nepovažuje za dobrou myšlenku, protože jedním z klíčových předností skriptu je absence závislostí na externích nástrojích. V současnosti je zaneprázdněn, ale doufá, že se v následujících několika dnech bude moci věnovat řešení problému. V plánu je přepracování JSON parseru nebo integrace hotového parseru v shellovém jazyce — JSON.sh.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster