Kako prikazati & podpise kode za preverjanje aplikacij v sistemu Mac OS X

Kazalo:

Anonim

Aplikacije, podpisane s kodo, omogočajo varnostno ozaveščenim uporabnikom, da preverijo avtorja in zgoščeno vrednost določene aplikacije, da potrdijo, da ni bila poškodovana ali spremenjena. To je redko potrebno za povprečne uporabnike računalnikov Mac, zlasti tiste, ki svojo programsko opremo pridobijo iz trgovine Mac App Store ali drugih zaupanja vrednih virov, saj so aplikacije certificirane, vendar je lahko preverjanje digitalnega podpisa aplikacije izjemno koristno za uporabnike, ki dobijo aplikacije od tretjih oseb viri.

Preverjanje podpisa kode je še posebej pomembno za tiste, ki pridobivajo programsko opremo in namestitvene programe iz p2p in distribuiranih virov, morda torrent strani ali novičarskih skupin, IRC, javnega ftp ali drugega omrežnega vira. Za praktičen primer recimo, da uporabnik iz katerega koli razloga ne more dostopati do trgovine Mac App Store, vendar mora prenesti namestitveno aplikacijo za Mac OS X in se zato zanaša na vir tretje osebe. V takšni situaciji bi bilo pomembno vedeti in preveriti, da namestitveni program ni bil spremenjen in da zakonito prihaja od Applea, poleg neposrednega preverjanja razpršitve sha1 pa je najlažji način, da preverite podpis kode in kriptografsko zgoščena vrednost zadevne aplikacije.

Kako preveriti podpis kode za aplikacije na Macu

Za začetek zaženite Terminal, ki ga najdete v /Applications/Utilities/. Uporabili bomo primerno poimenovan ukaz »codesign« skupaj z zastavicama -dv in –verbose=4 za prikaz identifikacijskih informacij o kateri koli aplikaciji, vključno z vrsto zgoščene vrednosti, kontrolno vsoto zgoščene vrednosti in pooblastilom za podpisovanje.

Osnovna sintaksa je naslednja:

codesign -dv --verbose=4 /Path/To/Application.app

Na primer, preverimo podpis na Terminal.app, ki se nahaja v /Applications/Utilities/

codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Format=sveženj z Mach-O thin (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 Internal requirements count=

Kar iščete, so vnosi zgoščene vrednosti, zgoščene vrednosti in pooblastila. V tem primeru je tip razpršitve sha1 in podpisani organ je Apple, kar bi pričakovali.

Da, z ukazno vrstico lahko samo preverite zgoščene vrednosti sha1 ali md5 namestitvenih programov in prenosov aplikacij ter jih primerjate z zakonitim virom, vendar to ne bo razkrilo podrobnosti podpisa kode in potrdila.

Upoštevajte, da bo Gatekeeper v sistemu Mac OS X zavrnil večino programske opreme, podpisane s kodo, ki jo je spremenila nepooblaščena oseba, razen če je bil Gatekeeper onemogočen ali kako drugače zaobšel, vendar tudi če je Gatekeeper ostal vklopljen teoretično je možno, da podjetni gobec najde način, kako to zaobiti, in seveda je programsko opremo, ki ni certificirana s strani identificiranega razvijalca, mogoče vseeno vedno zagnati okoli Gatekeeperja.

O podpisovanju kode si lahko preberete na Wikipediji in v Vodniku za razvijalce Apple za podpisovanje kode tukaj.

Ali kdaj preverite, ali so aplikacije podpisane? Lahko je veljaven način za ugotavljanje, kateri so nekateri procesi in aplikacije, prav tako pa je lahko v pomoč pri odpravljanju težav. Poskusite naslednjič, ko se sprašujete, kaj je nekaj in ali je podpisano ali ne!

Kako prikazati & podpise kode za preverjanje aplikacij v sistemu Mac OS X