Sebastian Krause ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ» ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΡΡΠ°Π½Π½ΠΎΠΉ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Bypass ΡΠΊΡΠΈΠΏΡΠ° dehydrated, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ACME. Π‘ Bypass ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈ uacme, Π½ΠΎ Π½Π΅ dehydrated (ΡΠΎΡΠ½Π΅Π΅, ΠΎΠ½ ΡΠΎΠΆΠ΅ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΡΠΌΠΈ ΠΌΠ°Π½ΡΠ²ΡΠ°ΠΌΠΈ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π», Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ dns-1).
ΠΡΠΈΡΠΈΠ½Π° ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π±Π°Π½Π°Π»ΡΠ½Π°: Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON ΠΏΠΎ Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ, Π°Π²ΡΠΎΡ dehydrated ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ JSON-Π²ΡΠ²ΠΎΠ΄Π° ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Let’s Encrypt ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΡΠ°Π·Π±ΠΎΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ Bypass Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ, Π° ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ JSON, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ Ρ LetsEncrypt, Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ΄Π°ΡΠΈ, ΠΎΡΡΠ°Π²ΡΠΈΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΠΏΠΎΠ»Π½Π΅ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°.
ΠΡΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΏΠ°ΡΡΠ΅Ρ JSON, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ json_pp ΠΈΠ»ΠΈ jq (Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² pipe ‘jq -r «.authorizations | .[]»‘ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ°).
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΡΡΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π»Π΅Π³ΠΊΠΎ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ²ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° dehydrated (ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅Π΄Π°Π²Π½ΠΎ Π±ΡΠ» ΠΏΡΠΎΠ΄Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apilayer GmbH) ΡΠΎΠ³Π»Π°ΡΠΈΠ»ΡΡ, ΡΡΠΎ ΡΠ°Π·Π±ΠΎΡ JSON ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΡ ΠΎΠ½ Π½Π΅ ΡΡΠΈΡΠ°Π΅Ρ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ
Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² ΡΠΊΡΠΈΠΏΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ Π·Π°Π½ΡΡ, Π½ΠΎ Π½Π°Π΄Π΅Π΅ΡΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ ΡΠ΄Π΅Π»ΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π ΠΏΠ»Π°Π½Π°Ρ
ΠΎΡΠΌΠ΅ΡΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠ°ΡΡΠ΅ΡΠ° JSON ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ shell — JSON.sh.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru