Jak zobrazit & ověřovací podpisy kódu pro aplikace v systému Mac OS X

Obsah:

Anonim

Aplikace podepsané kódem umožňují uživatelům, kteří dbají na bezpečnost, ověřit tvůrce a hash konkrétní aplikace, aby pomohli potvrdit, že nebyla poškozena nebo s ní neoprávněně manipulováno. To je zřídka nutné pro průměrné uživatele Mac, zejména pro ty, kteří získávají svůj software z Mac App Store nebo jiných důvěryhodných zdrojů, protože aplikace jsou certifikovány, ale ověření digitálního podpisu aplikace může být extrémně užitečné pro uživatele, kteří získávají aplikace od třetích stran. prameny.

Ověření podpisu kódu je zvláště důležité pro ty, kteří získávají software a instalační programy z p2p a distribuovaných zdrojů, například z torrentu nebo diskusních skupin, IRC, veřejného ftp nebo jiného síťového zdroje. Pro praktický příklad řekněme, že uživatel nemá z jakéhokoli důvodu přístup k Mac App Store, ale potřebuje si stáhnout instalační aplikaci Mac OS X a spoléhá se tak na zdroj třetí strany. Taková situace nastává, když by bylo důležité vědět a ověřit, že s instalačním programem nebylo manipulováno a že legálně pochází od společnosti Apple, a kromě přímé kontroly sha1 hash je nejjednodušším způsobem, jak to udělat, zkontrolovat podpis kódu a kryptografický hash příslušné aplikace.

Jak zkontrolovat podpis kódu pro aplikace na Mac

Chcete-li začít, spusťte Terminál, který najdete v /Applications/Utilities/. K zobrazení identifikačních informací o jakékoli aplikaci, včetně jejího typu hash, kontrolního součtu hash a podpisového oprávnění, použijeme příhodně pojmenovaný příkaz „codesign“ doplněný parametry -dv a –verbose=4.

Základní syntaxe je následující:

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

Například zkontrolujte podpis na Terminal.app, který se nachází v /Applications/Utilities/

codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=5227 flags=0x0(none) hash=255+3 location=embedded Platform identifier=1 Hash type=sha1 size=20 CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23 Velikost podpisu=4105 Autorita=Autorita pro podepisování softwaru=Certifikační autorita pro podepisování kódu Apple size=Kořenová certifikační autorita Apple Info.plist entries=34 TeamIdentifiers96 Nenastaveno 3 požadavky na interní soubory=Zapečetěné soubory=93

To, co hledáte, jsou typ hash, hash a položky oprávnění. V tomto případě je typ hash sha1 a podepsaná autorita je Apple, což byste očekávali.

Ano, můžete také použít příkazový řádek ke kontrole sha1 nebo md5 hash instalačních programů a stažených aplikací a porovnat je s legitimním zdrojem, ale to neodhalí podepisování kódu a podrobnosti o certifikátu.

Mějte na paměti, že většinu softwaru podepsaného kódem, který byl upraven neoprávněnou stranou, odmítne Gatekeeper v systému Mac OS X, pokud nebyl Gatekeeper deaktivován nebo jinak obejit, ale i když je Gatekeeper ponechán na něm. teoreticky je možné, aby podnikavý šmejd našel cestu, jak to obejít, a samozřejmě software, který nebyl certifikován identifikovaným vývojářem, může být vždy spuštěn kolem Gatekeeperu.

O podepisování kódu se můžete dozvědět na Wikipedii a v příručce Apple Developer k podepisování kódu zde.

Kontrolujete někdy, zda jsou aplikace podepsané? Může to být platný způsob, jak určit, jaké jsou některé procesy a aplikace, a také může být užitečný při odstraňování problémů. Zkuste to příště, až vás bude zajímat, co to je a jestli je to podepsané nebo ne!

Jak zobrazit & ověřovací podpisy kódu pro aplikace v systému Mac OS X