Kungani umyalo we-openssl usebenza kodwa ukwakhiwa kwe-VPN kuhluleka
Ibhinari ye-openssl esebenzayo ayisho lutho mayelana namakhasi namalabhulali okuxhumanisa. Hlola iphakethe lokuthuthukisa, isakhiwo esihlosiwe kanye nelogi yokuthola kokwakhiwa.
Ithemineli ibika ngenjabulo inguqulo ye-OpenSSL, futhi isihlahla somthombo sisahluleka ngomlayezo mayelana namakhasi e-crypto angekho. Zombili izitatimende ziyiqiniso ngasikhathi sinye, ngoba ithuluzi lesikhathi sokusebenza kanye neqoqo lokufakwayo kokwakhiwa kuhlinzekwa ngokwehlukana. Yenza lezi zihlolo ezine ngokulandelana: amaphakethe afakiwe, okukhishwayo kokuthola, izindlela zokusesha, bese kuthi ngemuva kwalokho ukuthi umthombo ngokwawo uhambelana yini. Misa ekuhlolweni kokuqala okuchaza ukwehluleka esikhundleni sokunamathisela uhlu lwakudala lokuncika.
Isikhathi sokusebenza nokufakwayo kokwakhiwa kungamaphakethe ahlukene
Ukusabalalisa kuhlukanisa i-OpenSSL kuba iphakethe lesikhathi sokusebenza elinikeza ilabhulali eyabiwe kanye nethuluzi lomugqa womyalo, kanye nephakethe lokuthuthukisa elinikeza amakhasi, amagama okuxhumanisa angenayo inguqulo kanye nemethadatha ye-pkg-config. Ukufaka lokuqala akukufaki okwesibili, futhi umhleli udinga okwesibili kuphela.
Hlola okukhona ngempela hhayi lokho okhumbula ukuthi wakufaka. Ezinhlelweni ezisekelwe ku-Debian iphakethe lokuthuthukisa ngokuvamile liyi-libssl-dev, kuyilapho isikhathi sokusebenza siyiphakethe lelabhulali elinenguqulo kanye nebhinari ye-openssl.
dpkg -l | grep -E 'libssl-dev|libssl3|openssl' pkg-config --modversion openssl openssl version
Umyalo wokuqala ukhombisa ukuthi yikuphi kokuthathu okufakiwe, owesibili ubika inguqulo izotholwa uhlelo lokwakha nge-pkg-config, futhi owesithathu ubika inguqulo yesikhathi sokusebenza. Umugqa ongekho kokukhishwayo kokuqala uchaza iphutha ngokushesha. Ukungafani kwenguqulo phakathi kowesibili nowesithathu kwenye inkinga, futhi ngokuvamile kusho ukuthi ukufakwa okubili kuyancintisana.
Funda okukhishwayo kokuthola kokwakhiwa ngokwako
Iningi lokwehluleka kubonakala kwilogi yokumiswa uma uyifunda ngaphambi kwesifinyezo. Imojuli ye-FindOpenSSL ye-CMake ibika ukuthi yikuphi okusemkhakheni we-include kanye namalabhulali eyawakholayo, futhi iyahluleka ngomlayezo othile uma ingxenye edingekayo ingekho.
Qinisekisa ukuthi uhlelo lusebenzisa yiphi inguqulo yemojuli, ngoba ikhophi efakwe ngaphakathi kwesihlahla somthombo ingasebenza ngendlela ehlukile kunaleyo ehambisana ne-CMake efakiwe. Bese ufunda uhlu lwezingxenye: uhlelo olucela i-Crypto kuphela aludingi ilabhulali ye-SSL, futhi olucela i-SSL luzohluleka uma ingxenye kuphela yephakethe lokuthuthukisa ikhona.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release grep -i -E 'openssl|ssl' build/CMakeCache.txt
Umyalo wokuqala ulungisa kabusha kusukela ekuqaleni, futhi owesibili ukhombisa imiphumela egcinwe kukhashi, kufaka phakathi noma iyiphi incwadi yezimpande noma indlela yelabhulali imojuli eyagcina kuyo. Uma ikhashi likhomba kuqalo lwakudala lomzamo wangaphambili, susa incwadi yokwakha bese ulungisa kabusha esikhundleni sokuhlela amanani ngesandla. Okufakwe kukhashi okuphelelwe yisikhathi kuyimbangela evamile yokwehluleka okuhlala ngisho ngemuva kokulungiswa okulungile.
Qondisa ukwakhiwa ekufakweni okulungile, ngokucwebile
Uma i-OpenSSL egunyaziwe ihlala ngaphandle kwendlela yokusesha ezenzakalelayo, i-FindOpenSSL ibhala i-OPENSSL_ROOT_DIR njengenkomba yalokho kwakha othile. Ezinhlelweni ezinjenge-Unix iphinde ibuze i-pkg-config, ngakho i-PKG_CONFIG_PATH efanele ingasiza ngaphandle kokushintsha lutho emhlabeni wonke.
cmake -S . -B build -DOPENSSL_ROOT_DIR=/opt/openssl-3.2 -DCMAKE_BUILD_TYPE=Release ldd build/vpn_client | grep -i ssl
Umyalo wokuqala ukhawulela inkomba kuyincwadi eyodwa yokwakha, futhi owesibili ukhombisa ukuthi iyiphi ilabhulali eyabiwe ibhinari ezoyilayisha ngesikhathi sokusebenza. Ukwakhiwa okuxhumanisa kuqalo oluhloswe kanye nebhinari elayisha okunye kuyinkinga yendlela yesikhathi sokusebenza, hhayi inkinga yokuthola, futhi kudinga isinqumo nge-rpath noma ukumiswa kwesilayishi esikhundleni senye ifulegi yokumiswa.
Gcina lezi zinqumo zisesigabeni sokwakha. Ukufaka amalabhulali omshini esikhundleni noma ukuhlela amafayela e-pkg-config omhlaba wonke ukuze kwenelise uhlelo olulodwa kuyindlela ideskithophu esebenzayo ephenduka eyephukile ngayo. Incwadi yokwakha erekhoda uqalo iyaphindiseka; ushintsho emshinini wonke luyisigameko sokusekelwa esilindele uhlelo olulandelayo. Susa incwadi yokwakha uma ushintsha inkomba, ukuze ikhashi lingakwazi ukugcina impendulo endala.
Yazi ukuthi inkinga isemthonbeni ngokwawo nini
Isinyathelo sokumiswa esiphumelelayo sifakazela kuphela ukuthi izihlolo ziqedile. Ukuhlanganisa kusengenqaba i-API umthombo owulindele, futhi ukuxhumanisa kusengahluleka ngenxa yophawu olungekho. Gcina iphutha lokuqala elithile lesigaba ngasinye, ngoba elilandelayo ngokuvamile lingumphumela.
I-OpenSSL 3 yamemezela njengezaphelelwe yisikhathi futhi yasusa izixhumanisi eziningana ezisetshenziswa ngqo amaklayenti amadala e-VPN, ngakho isihlahla somthombo saleso sikhathi singadinga izinguquko zangempela esikhundleni sendlela entsha ye-include. Uma abagcini bekweseka ukukhishwa kwamanje, sebenzisa lokho. Uma bengakweseki, isinqumo singeyalowo ongumnikazi wensiza, hhayi sokusesha igama lefayela lelabhulali elidala.
Izingxenye zedeskithophu ezingakhethwa zinazo izidingo zazo. Umkhombandlela womugqa womyalo ozilungisa ngokuhlanzekile akusho lutho mayelana nokuthi ithuluzi le-GUI kanye nomhleli kuzokwakhiwa yini, ngakho thatha uhlu lwamaphakethe e-Qt amadala njengomlando hhayi njengesicaciso. Hlola izinketho zokubuyekezwa komthombo ngokwako mayelana nokuthi yiziphi izixhumanisi ezivuliwe ngokuzenzakalelayo. Bese wakha kuphela lokho okudingayo, ngoba konke ukuncika okungakhethwa kwenye inkinga yokuthola elindele ukwenzeka.