Trovata la causa dei problemi di dehydrated con i server ACME diversi da LetsEncrypt

Sebastian Krause ha identificato l'origine di una strana incompatibilità con il servizio Bypass di uno script dehydrated, utilizzato per automatizzare l'ottenimento di certificati TLS tramite il protocollo ACME. Con Bypass funzionano sia il client di riferimento che uacme, ma non dehydrated (in effetti, ha funzionato anche con alcuni workaround, ma esclusivamente in modalità dns-1).

La causa si è rivelata banale: invece di analizzare la risposta in formato JSON per davvero, l'autore di dehydrated ha utilizzato una caratteristica di formattazione di un particolare output JSON del servizio Let’s Encrypt e ha eseguito l'analisi usando espressioni regolari. Tuttavia, Bypass restituisce un JSON minificato, non ben formattato, e l'espressione regolare non ha funzionato. L'approccio indicato non esclude la possibilità di problemi anche con LetsEncrypt, poiché questo servizio potrebbe modificare in futuro senza preavviso il formato di output, rimanendo però all'interno del protocollo ufficiale.

Durante la discussione del problema è stato suggerito di utilizzare un parser JSON esterno, come json_pp o jq (aggiungere a pipe ‘jq -r «.authorizations | .[]»‘ per un'analisi corretta).
Lo svantaggio di questo approccio è la confusione dell'idea di dotarsi di strumenti minimi e facilmente verificabili, oltre ai problemi con la gestione degli errori.

L'autore del progetto dehydrated (il progetto è recentemente stato venduto alla società Apilayer GmbH) ha accolto, che l'analisi del JSON rappresenta un grosso problema, ma non ritiene una buona idea aggiungere parser esterni, poiché uno dei principali vantaggi dello script è l'assenza di dipendenze esterne. Attualmente è occupato, ma spera di dedicare attenzione alla risoluzione del problema nei prossimi giorni. Nei piani è prevista la revisione del parser JSON o l'integrazione di un parser già pronto in linguaggio shell — JSON.sh.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster