Hur man visar & Verifiera kodsignaturer för appar i Mac OS X
Innehållsförteckning:
Kodsignerade applikationer tillåter säkerhetsmedvetna användare att verifiera skaparen och hashen av en viss app för att bekräfta att den inte har skadats eller manipulerats. Detta är sällan nödvändigt för genomsnittliga Mac-användare, särskilt de som skaffar sin programvara från Mac App Store eller andra pålitliga källor eftersom apparna är certifierade, men att verifiera den digitala signaturen för en app kan vara oerhört användbart för användare som får appar från tredje part källor.
Verifiering av en kodsignatur är särskilt viktigt för dem som skaffar programvara och installationsprogram från p2p och distribuerade källor, kanske en torrentsida eller nyhetsgrupper, IRC, offentlig ftp eller annan nätverksresurs. För ett praktiskt exempel, låt oss säga att en användare inte kan komma åt Mac App Store av någon anledning, utan måste ladda ner ett Mac OS X-installationsprogram och därför förlitar sig på en tredjepartskälla. En sådan situation är när det skulle vara viktigt att veta och verifiera att installationsprogrammet inte har manipulerats och kommer legitimt från Apple, och förutom att kontrollera sha1-hash direkt, är det enklaste sättet att göra det att kontrollera kodsignaturen och kryptografiken. hash för appen i fråga.
Hur kontrollerar man kodsignatur för appar på Mac
För att komma igång, starta Terminal, som finns i /Applications/Utilities/. Vi kommer att använda det passande namnet 'codesign'-kommandot, komplett med flaggorna -dv och -verbose=4 för att visa identifierande information om alla program, inklusive dess hashtyp, hashkontrollsumma och signeringsbehörighet.
Den grundläggande syntaxen är följande:
codesign -dv --verbose=4 /Path/To/Application.app
Låt oss till exempel kontrollera signaturen på Terminal.app, som finns i /Applications/Utilities/
codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Format=paketera med Mach-O tunn (x86_64) CodeDirectory v=20100 storlek=5227 flaggor=0x0(inga) hashes=255+3 plats=inbäddad Plattformsidentifierare=1 Hashtyp=sha1 storlek=20 CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23 Signaturstorlek=4105 Authority=Software Signing Authority=Apple Code Signing Certification Authority Authority=Apple Root CA Info.plist entries=34 TeamIdentifier-filer=34 TeamIdentifier-storlek 8 Resurser=34 TeamIdentifierare 9 Resurser=34 TeamIdentifier 9
Det du letar efter är hash-typ, hash- och auktoritetsposter. I det här fallet är hash-typen sha1 och den undertecknade auktoriteten är Apple, vilket är vad du kan förvänta dig.
Ja, du kan också använda kommandoraden för att bara kontrollera sha1- eller md5-hashar för programinstallatörer och nedladdningar och jämföra dem med en legitim källa, men det kommer inte att avslöja kodsigneringen och certifikatdetaljerna.
Tänk på att de flesta kodsignerade program som har modifierats av en obehörig part kommer att avvisas av Gatekeeper i Mac OS X, såvida inte Gatekeeper har inaktiverats eller på annat sätt kringgåtts, men även med Gatekeeper kvar på den. teoretiskt möjligt för en företagsam goon att hitta en väg runt det, och naturligtvis kan programvara som inte har certifierats av en identifierad utvecklare alltid lanseras runt Gatekeeper ändå.
Du kan om kodsignering på Wikipedia och i Apples utvecklarguide för kodsignering här.
Kontrollerar du någonsin om appar är signerade? Det kan vara ett giltigt sätt att avgöra vad vissa processer och appar är, och kan också vara till hjälp för felsökning. Ge det ett försök nästa gång du undrar vad något är och om det är signerat eller inte!