Natagpuan ang sanhi ng mga problema sa pag-dehydrate sa mga server ng ACME maliban sa LetsEncrypt

Sebastian Krause determinado pinagmulan ng kakaibang hindi pagkakatugma sa serbisyo pasikut-sikot iskrip inalis ang tubig, ginagamit para i-automate ang pagtanggap ng mga TLS certificate gamit ang ACME protocol. Parehong gumagana ang reference client at uacme sa Bypass, ngunit hindi dehydrated (mas tiyak, gumana rin ito sa ilang mga workaround, ngunit eksklusibo sa dns-1 mode).

Ang dahilan ay naging maliit: sa halip na i-parse ang tugon sa JSON format para sa tunay, ang may-akda ng dehydrated ay ginamit ang tampok na pag-format ng isang partikular na JSON na output mula sa serbisyong Let's Encrypt at na-parse ito gamit ang isang regular na expression. Ngunit nagbabalik ang Bypass na hindi maganda ang pagkaka-format, ngunit pinaliit na JSON, at ang ginamit regular na pagpapahayag hindi gumana. Ang diskarte na ito ay hindi nagbubukod ng mga problema sa LetsEncrypt kung babaguhin ng serbisyong ito ang format ng pagbibigay sa hinaharap nang walang babala, habang nananatiling ganap sa loob ng balangkas ng opisyal na protocol.

Kapag tinatalakay ang problema, iminungkahi na gumamit ng panlabas na JSON parser gaya ng json_pp o jq (idagdag ang 'jq -r ".authorizations | .[]"' sa pipe para sa tamang pag-parse).
Ang kawalan ng diskarteng ito ay ang pagbabanto ng ideya ng paggamit ng minimal at madaling ma-verify na paraan, pati na rin ang mga problema sa paghawak ng error.

May-akda ng dehydrated na proyekto (ang proyekto ay kamakailan ubos na Apilayer GmbH) sumang-ayon, na ang pag-parse ng JSON ay isang malaking problema, ngunit hindi niya itinuturing na isang magandang ideya ang pagdaragdag ng mga panlabas na parser, dahil ang isa sa mga pangunahing bentahe ng script ay ang kakulangan ng pagbubuklod sa mga panlabas na dependency. Siya ay kasalukuyang abala, ngunit umaasa na italaga ang kanyang pansin sa paglutas ng problema sa susunod na mga araw. Kasama sa mga plano ang muling paggawa sa JSON parser o pagsasama ng isang handa na parser sa wikang shell - JSON.sh.

Pinagmulan: opennet.ru

Magdagdag ng komento