Wedi dod o hyd i achos problemau dadhydradu gyda gweinyddwyr ACME heblaw LetsEncrypt

Sebastian Krause wedi'i nodi ffynhonnell o anghydnawsedd rhyfedd Γ’'r gwasanaeth Ffordd Osgoi sgript dadhydradedig, a ddefnyddir i awtomeiddio derbyn tystysgrifau TLS gan ddefnyddio'r protocol ACME. Mae'r cleient cyfeirio a'r uacme yn gweithio gyda Ffordd Osgoi, ond nid wedi'u dadhydradu (yn fwy manwl gywir, bu hefyd yn gweithio gyda rhai atebion, ond yn y modd dns-1 yn unig).

Trodd y rheswm yn ddibwys: yn lle dosrannu'r ymateb yn fformat JSON yn wirioneddol, defnyddiodd awdur dadhydradu nodwedd fformatio allbwn JSON penodol o'r gwasanaeth Let's Encrypt a'i ddosrannu gan ddefnyddio mynegiant rheolaidd. Ond mae Bypass yn dychwelyd heb ei fformatio'n hyfryd, ond JSON wedi'i finimeiddio, a'r un a ddefnyddir mynegiant rheolaidd ddim yn gweithio. Nid yw'r dull hwn yn eithrio problemau gyda LetsEncrypt os bydd y gwasanaeth hwn yn newid y fformat cyhoeddi yn y dyfodol heb rybudd, tra'n aros yn gyfan gwbl o fewn fframwaith y protocol swyddogol.

Wrth drafod y broblem, awgrymwyd defnyddio parser JSON allanol megis json_pp neu jq (ychwanegwch 'jq -r ".authorizations | .[]"' i'r bibell i'w dosrannu'n gywir).
Anfantais y dull hwn yw gwanhau'r syniad o ddefnyddio dulliau lleiaf posibl a hawdd eu gwirio, yn ogystal Γ’ phroblemau wrth drin gwallau.

Awdur y prosiect dadhydradu (roedd y prosiect yn ddiweddar gwerthu allan Apilayer GmbH) cytunwyd, bod dosrannu JSON yn broblem fawr, ond nid yw'n ystyried ychwanegu parsers allanol yn syniad da, gan mai un o fanteision allweddol y sgript yw diffyg rhwymo i ddibyniaethau allanol. Mae'n brysur ar hyn o bryd, ond mae'n gobeithio rhoi ei sylw i ddatrys y broblem yn y dyddiau nesaf. Mae'r cynlluniau'n cynnwys ail-weithio'r parser JSON neu integreiddio parser parod yn yr iaith gregyn - JSON.sh.

Ffynhonnell: opennet.ru

Ychwanegu sylw