Za bary z SSL-em

https://xpil.eu/1eo

Wbrew temu, co mo偶na by s膮dzi膰 po tytule dzisiejszego wpisu, nie b臋dziemy si臋 dzi艣 艂adowa膰 z SSL-em na zaplecza lokalnych pub贸w. Nie b臋dziemy te偶 mierzy膰 ci艣nienia barometrem.

B臋dziemy si臋 z SSL-em mocowa膰.

To znaczy, ja b臋d臋.

A w艂a艣ciwie by艂em. By艂em si臋 mocowa艂em z SSL-em, aby na ko艅cu odnie艣膰 nieco dziwne, ale jednak - zwyci臋stwo.

SSL to taki protok贸艂 szyfruj膮cy, kt贸ry ju偶 jaki艣 czas temu odszed艂 do lamusa, zast膮piony przez TLS. Ale w niekt贸rych miejscach jeszcze si臋 go u偶ywa i to w celach kompletnie nie zwi膮zanych z www.

Za pomoc膮 SSL mo偶na bowiem zaszyfrowa膰 dowolny plik, nie musi to by艂 od razu zielona k艂贸deczka w przegl膮darce.

No i teraz tak: poproszono mnie niedawno w pracy o zautomatyzowanie pewnego procesu, poniewa偶 zajmuje on dzie艅 w dzie艅 jednemu pracownikowi oko艂o czterdziestu minut, co po przeliczeniu na pracownikoroboczominutogodziny daje 艣rednio nieco ponad dziewi臋膰 tysi臋cy minut rocznie, a wi臋c jakie艣 dwadzie艣cia dni roboczych, przy za艂o偶eniu irlandzkiego siedmioip贸艂godzinnego dnia pracy. Dwadzie艣cia dni roboczych - to偶 to miesi膮c pracy jest, je偶eli da si臋 to zautomatyzowa膰, w贸wczas ten go艣膰 zamiast siedzie膰 40 minut dziennie i klika膰, b臋dzie m贸g艂 p贸j艣膰 na spacer. Albo ogl膮da膰 w tym czasie 艣mieszne koty na Tyrurce.

Gra warta 艣wieczki.

Proces, kt贸ry mia艂em zautomatyzowa膰, sk艂ada si臋 z o艣miu krok贸w. Wi臋kszo艣膰 z nich polega na logowaniu si臋 do r贸偶nych us艂ug oraz pobieraniu / wysy艂aniu plik贸w, ale gdzie艣 tam po drodze musimy jeszcze te pliki zdeszyfrowa膰聽 - w艂a艣nie za pomoc膮 SSL (a konkretnie - OpenSSL).

OpenSSL to darmowa biblioteka, kt贸ra implementuje SSL (a ostatnio r贸wnie偶 TLS) na wszystkie g艂贸wne systemy operacyjne. W tym r贸wnie偶 Windows.

Wersja dla Windows sk艂ada si臋 z jednego pliku exe oraz paru "satelitarnych" bibliotek (tak, biblioteka ma biblioteki i nie ma w tym nic nadzwyczajnego). Szyfrowanie / deszyfrowanie odbywa si臋 poprzez wywo艂anie tego pliku exe z odpowiednimi parametrami. Ewentualnie mo偶na uruchomi膰 plik exe bez parametr贸w - wtedy pojawia si臋 tryb interaktywny (shell), w kt贸rym mo偶na wpisywa膰 komendy i w ten spos贸b szyfrowa膰 / deszyfrowa膰 dane, generowa膰 klucze i tak dalej.

Teoretycznie jest tak, 偶e ka偶d膮 operacj臋, jaka jest dost臋pna w OpenSSL, da si臋 wykona膰 przekazuj膮c aplikacji odpowiednie parametry.

Poniewa偶 jednak teoria z praktyk膮 zgadza si臋 tylko w teorii, rzeczywisto艣膰 jest nieco inna. Na przyk艂ad komenda cms -decrypt w pewnej konkretnej konfiguracji kluczy i hase艂 dzia艂a wy艂膮cznie w trybie interaktywnym. Z wiersza polece艅 nie zadzia艂a, cho膰by si臋 cz艂owiek sfajda艂.

呕eby doj艣膰 do tego odkrycia, potrzebowa艂em p贸艂 dnia. Zmarnowa艂em cztery godziny na to, 偶eby odkry膰, 偶e nie da si臋 zdeszyfrowa膰 pliku za pomoc膮 polecenia cms -decrypt u偶ywaj膮c wy艂膮cznie parametr贸w wiersza polece艅. Jedyne, co dzia艂a, to tryb interaktywny. Koniec, kropka.

My艣l臋 sobie, dupa przenajbledsza, nie zautomatyzuj臋 tego.

Od艂o偶y艂em zagadnienie "na p贸藕niej".

"P贸藕niej" przysz艂o po jakich艣 dw贸ch godzinach. Rozwi膮zanie obrzydliwe, nieeleganckie i powolne. Ale - dzia艂a!

Skoro deszyfrowanie da si臋 zrobi膰 wy艂膮cznie interaktywnie, zaprz臋g艂em PowerShell-a, 偶eby zasymulowa膰 t臋 interaktywno艣膰 programowo. A wi臋c: uruchamiam OpenSSL, nast臋pnie przechwytuj臋 okienko konsoli i wysy艂am do niego (r贸wnie偶 za pomoc膮 PowerShell) naci艣ni臋cia klawiszy. Aplikacji "wydaje si臋", 偶e polecenia wpisuje cz艂owiek, wi臋c wszystko dzia艂a jak nale偶y. Jedyny k艂opot jest taki, 偶e trzeba troch臋 d艂u偶ej poczeka膰, bo wpisanie pi臋膰dziesi臋cio- czy osiemdziesi臋cioznakowego polecenia troch臋 zajmuje - ale wszystko robi si臋 "samo". No i nie wolno w tym czasie klika膰 w 偶adne inne okienka, bo si臋 komendy SSL "wpisz膮" gdzie艣 indziej.

Reakcja szefostwa podczas prezentacji rozwi膮zania by艂a raczej md艂a. Zobaczyli, stwierdzili, 偶e dzia艂a, kazali pu艣ci膰 do produkcji, koniec tematu.

呕adnych fontann, fajerwerk贸w, 偶adnego Computti Militari ani oklask贸w.

No ale w ko艅cu nie dla oklask贸w pracuj臋.

C'nie?

https://xpil.eu/1eo

Leave a Comment

Komentarze mile widziane.

Je偶eli chcesz do komentarza wstawi膰 kod, u偶yj sk艂adni:
[code]
tutaj wstaw sw贸j kod
[/code]

Je偶eli zrobisz liter贸wk臋 lub zmienisz zdanie, mo偶esz edytowa膰 komentarz po jego zatwierdzeniu.