Com mostrar & Verificació de signatures de codi per a aplicacions a Mac OS X

Taula de continguts:

Anonim

Les aplicacions signades amb codi permeten als usuaris conscients de la seguretat verificar el creador i el hash d'una aplicació concreta per ajudar a confirmar que no s'ha malmès ni manipulat. Això rarament és necessari per als usuaris mitjans de Mac, especialment aquells que obtenen el seu programari de la Mac App Store o d' altres fonts de confiança, ja que les aplicacions estan certificades, però verificar la signatura digital d'una aplicació pot ser molt útil per als usuaris que obtenen aplicacions de tercers. fonts.

Verificar una signatura de codi és especialment important per a aquells que obtenen programari i instal·ladors de fonts p2p i distribuïdes, potser un lloc de torrent o grups de notícies, IRC, ftp públic o un altre recurs de xarxa. Per a un exemple pràctic, suposem que un usuari no pot accedir a la Mac App Store per qualsevol motiu, però necessita descarregar una aplicació d'instal·lació de Mac OS X i, per tant, es basa en una font de tercers. Aquesta situació és quan seria important saber i verificar que l'instal·lador no ha estat manipulat i que prové legítimament d'Apple, i a part de comprovar directament sha1 hash, la manera més senzilla de fer-ho és comprovar la signatura del codi i la criptografia. hash de l'aplicació en qüestió.

Com comprovar la signatura del codi per a les aplicacions de Mac

Per començar, inicieu Terminal, que trobareu a /Aplicacions/Utilitats/. Utilitzarem l'ordre encertadament anomenada "codesign", completa amb els senyaladors -dv i -verbose=4 per mostrar informació d'identificació sobre qualsevol aplicació, inclòs el tipus de hash, la suma de verificació hash i l'autoritat de signatura.

La sintaxi bàsica és la següent:

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

Per exemple, comprovem la signatura a Terminal.app, que es troba a /Aplicacions/Utilitats/

codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Format=paquet amb Mach-O thin (x86_64) CodeDirectory v=20100 size=5227 flags=0x0(cap) hashes=255+3 location=incrusted Platform identifier=1 Hash type=sha1 size=20 CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23 Mida de la signatura=4105 Autoritat=Autoritat de signatura de programari=Autoritat de certificació de signatura de codi d'Apple Autoritat=Autoritat de certificació de la signatura del codi d'Apple=Apple Root CA Info.plist Requisits d'informació de la CA Info.plist Requisits de la versió 1 de l'equip de recursos=346 mida interna=Requisits de l'equip de selecció=346

El que busqueu són el tipus de hash, el hash i les entrades d'autoritat. En aquest cas, el tipus hash és sha1 i l'autoritat signada és Apple, que és el que esperaries.

Sí, també podeu utilitzar la línia d'ordres per comprovar els hash sha1 o md5 dels instal·ladors i descàrregues d'aplicacions i comparar-los amb una font legítima, però això no revelarà la signatura del codi i els detalls del certificat.

Tingueu en compte que la majoria del programari signat amb codi que hagi estat modificat per una part no autoritzada serà rebutjat per Gatekeeper a Mac OS X, tret que Gatekeeper s'hagi desactivat o eludit d'una altra manera, però fins i tot amb Gatekeeper activat. teòricament és possible que un idiota emprenedor trobi una manera d'evitar-ho i, per descomptat, un programari que no ha estat certificat per un desenvolupador identificat sempre es pot llançar al voltant de Gatekeeper de totes maneres.

Podeu fer la signatura de codi a la Viquipèdia i a la guia per a desenvolupadors d'Apple per signar codi aquí.

Comproveu mai si les aplicacions estan signades? Pot ser una manera vàlida de determinar quins són alguns processos i aplicacions, i també pot ser útil per resoldre problemes. Proveu-ho la propera vegada que us pregunteu què és una cosa i si està signada o no!

Com mostrar & Verificació de signatures de codi per a aplicacions a Mac OS X