Årsaken til dehydrateds problemer med ACME-servere som ikke er LetsEncrypt er funnet

Sebastian Krause fastslo kilden til den merkelige inkompatibiliteten med tjenesten Bypass skriptet dehydrated, brukt for å automatisere anskaffelse av TLS-sertifikater via ACME-protokollen. Bypass fungerer både med referansekunden og uacme, men ikke dehydrated (for mer presist, det virker også med noen omgåelser, men utelukkende i dns-1-modus).

Årsaken viste seg å være banal: i stedet for å analysere svaret i JSON-format på ordentlig måte, brukte forfatteren av dehydrated en spesifikk formatering fra tjenesten Let’s Encrypt og gjennomførte parsing ved hjelp av regulære uttrykk. Men Bypass returnerer ikke pent formattert, men minifisert JSON, og det brukte regulære uttrykket fungerte ikke. Den nevnte tilnærmingen utelukker ikke at det kan oppstå problemer med LetsEncrypt, dersom denne tjenesten i fremtiden endrer formatet uten varsling, og fortsatt er innenfor rammene av den offisielle protokollen.

Under diskusjonen av problemet ble det foreslått å bruke en ekstern JSON-parsere, slik som json_pp eller jq (legg til i pipe ‘jq -r «.authorizations | .[]»‘ for riktig parsing).
Ulempen med en slik tilnærming er at den svakner ideen om å klare seg med minimale og lett verifiserbare midler, samt problemer med feilhåndtering.

Forfatteren av prosjektet dehydrated (prosjektet ble nylig solgt til selskapet Apilayer GmbH) godkjente, at JSON-parsing er et stort problem, men han anser det ikke som en god idé å legge til eksterne parsere, da en av de viktigste fordelene med skriptet er at det ikke er avhengig av eksterne avhengigheter. Han er for tiden opptatt, men håper å ha tid til å se på løsningen på problemet i løpet av de nærmeste dagene. Det er planlagt en redesign av JSON-parseren eller integrasjon av en eksisterende parser i shell-språket — JSON.sh.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster