Leitud põhjus dehydrated probleemide jaoks ACME-serveritega, mis erinevad LetsEncryptist.

Sebastian Krause määras veidra arve teenusega Bypass skripti dehydrated, mida kasutatakse TLS-sertifikaatide automaatseks hankimiseks ACME-protokolli kaudu. Bypass töötab nii etalonklientide kui ka uacme'iga, kuid mitte dehydrated'iga (täpsemalt, see töötas ka mõne kahepoolse lahendusega, kuid ainult dns-1 režiimis).

Põhjus oli tegelikult lihtne: selle asemel, et päriselt analüüsida JSON-vastust, kasutas dehydrated'i autor Let’s Encrypt teenuse konkreetse JSON-väljundi vormindamise iseärasusi ja tegi analüüsi regulaaravaldiste abil. Kuid Bypass tagastab mitte kenasti vormindatud, vaid minimeeritud JSON'i, ning kasutatud regulaaravaldis ei töötanud. Nimetatud lähenemine ei välista probleemide tekkimist ka LetsEncryptiga, kui teenus tulevikus formaati vahetab, jäädes samas täielikult ametliku protokolli raamidesse.

Probleemi arutamisel pakkus keegi välja välise JSON-parseeri kasutamise, nagu json_pp või jq (lisada pipe 'jq -r «.authorizations | .[]»' korrektseks analüüsiks).
Selle lähenemise miinuseks on idee hägustamine, et hakkama saada minimaalsete ja kergesti kontrollitavate vahenditega, samuti probleemid vigade töötlemisel.

Projekti dehydrated autor (projekt on hiljuti müüdi ettevõttele Apilayer GmbH) nõustus, et JSON-i analüüsimine on suur probleem, kuid väliste parserite lisamist ei pea ta hea ideena, kuna skripti üheks peamiseks eeliseks on sõltumatuse puudumine välisest sõltuvusest. Praegu on ta hõivatud, kuid loodab järgmise paari päeva jooksul probleemiga tegelema hakata. Plaanides on JSON parseri ümbertegemine või valmis parseri integreerimine shelli keeles — JSON.sh.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster