Kako prikazati & Verificirani potpis koda za aplikacije u Mac OS X
Sadržaj:
Aplikacije potpisane kodom omogućuju korisnicima koji brinu o sigurnosti da provjere kreatora i hash određene aplikacije kako bi se potvrdilo da nije oštećena ili neovlašteno mijenjana. Ovo je rijetko potrebno za prosječne Mac korisnike, osobito one koji svoj softver nabavljaju iz Mac App Storea ili drugih pouzdanih izvora budući da su aplikacije certificirane, ali provjera digitalnog potpisa aplikacije može biti od velike pomoći korisnicima koji nabavljaju aplikacije od trećih strana izvori.
Provjera potpisa koda posebno je važna za one koji dobivaju softver i programe za instalaciju iz p2p i distribuiranih izvora, možda s torrent stranice ili news grupa, IRC-a, javnog ftp-a ili drugog mrežnog izvora. Za praktičan primjer, recimo da korisnik ne može pristupiti Mac App Storeu iz bilo kojeg razloga, ali treba preuzeti Mac OS X instalacijsku aplikaciju i stoga se oslanja na izvor treće strane. Takva je situacija kada bi bilo važno znati i potvrditi da instalacijski program nije neovlašteno mijenjan i da legitimno dolazi od Applea, a osim izravne provjere sha1 hash-a, najlakši način da to učinite jest provjeriti potpis koda i kriptografski hash dotične aplikacije.
Kako provjeriti potpis koda za aplikacije na Macu
Za početak pokrenite Terminal koji se nalazi u /Applications/Utilities/. Koristit ćemo prikladno nazvanu naredbu 'codesign', upotpunjenu zastavicama -dv i –verbose=4 za prikaz identifikacijskih informacija o bilo kojoj aplikaciji, uključujući njezinu vrstu raspršivanja, kontrolni zbroj raspršivanja i ovlaštenje za potpisivanje.
Osnovna sintaksa je sljedeća:
codesign -dv --verbose=4 /Path/To/Application.app
Na primjer, provjerimo potpis na Terminal.app, koji se nalazi u /Applications/Utilities/
codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Format=paket s Mach-O tankim (x86_64) CodeDirectory v=20100 size=5227 flags=0x0(none) hashes=255+3 location=embedded Platform identifier=1 Hash type=sha1 size=20 CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23 Signature size=4105 Authority=Software Signing Authority=Apple Code Signing Certification Authority Authority=Apple Root CA Info.plist entries=34 TeamIdentifier=not set Sealed Resources version=2 rules=13 files=996 Interni zahtjevi count=
Ono što tražite su tip hash-a, hash i unosi ovlaštenja. U ovom slučaju tip raspršivanja je sha1, a potpisano ovlaštenje je Apple, što biste i očekivali.
Da, također možete koristiti naredbeni redak da samo provjerite sha1 ili md5 hashove programa za instalaciju i preuzimanja aplikacija i usporedite ih s legitimnim izvorom, ali to neće otkriti detalje o potpisivanju koda i certifikatu.
Imajte na umu da će većinu softvera potpisanog kodom koji je modificirala neovlaštena strana odbiti Gatekeeper u Mac OS X, osim ako Gatekeeper nije onemogućen ili na neki drugi način zaobiđen, ali čak i ako je Gatekeeper uključen teoretski je moguće da poduzetni lupež pronađe način da to zaobiđe, a naravno da se softver koji nije certificirao identificirani programer uvijek može pokrenuti oko Gatekeepera.
Možete o potpisivanju koda na Wikipediji i u Apple Developer vodiču za potpisivanje koda ovdje.
Provjeravate li ikada jesu li aplikacije potpisane? To može biti valjan način da se utvrdi koji su neki procesi i aplikacije, a također može biti od pomoći za rješavanje problema. Isprobajte sljedeći put kada se budete pitali što je nešto i je li potpisano ili ne!