Sådan viser du & Bekræft kodesignaturer til apps i Mac OS X

Indholdsfortegnelse:

Anonim

Kodesignerede applikationer giver sikkerhedsbevidste brugere mulighed for at bekræfte skaberen og hashen af ​​en bestemt app for at hjælpe med at bekræfte, at den ikke er blevet beskadiget eller manipuleret med. Dette er sjældent nødvendigt for gennemsnitlige Mac-brugere, især dem, der får deres software fra Mac App Store eller andre betroede kilder, da apps er certificerede, men at verificere den digitale signatur af en app kan være yderst nyttig for brugere, der får apps fra tredjeparter kilder.

Bekræftelse af en kodesignatur er især vigtig for dem, der får software og installationsprogrammer fra p2p og distribuerede kilder, måske et torrentwebsted eller nyhedsgrupper, IRC, offentlig ftp eller en anden netværksressource. For et praktisk eksempel, lad os sige, at en bruger ikke kan få adgang til Mac App Store af en eller anden grund, men skal downloade et Mac OS X-installationsprogram og derfor er afhængig af en tredjepartskilde. En sådan situation er, når det ville være vigtigt at vide og verificere, at installationsprogrammet ikke er blevet manipuleret og lovligt kommer fra Apple, og bortset fra at tjekke sha1 hash direkte, er den nemmeste måde at gøre det på at tjekke kodesignaturen og kryptografikken hash af den pågældende app.

Sådan tjekker man kodesignatur for apps på Mac

For at komme i gang skal du starte Terminal, som findes i /Applications/Utilities/. Vi bruger den passende navngivne 'codesign'-kommando, komplet med flagene -dv og -verbose=4 til at vise identificerende oplysninger om enhver applikation, inklusive dens hash-type, hash-checksum og underskriftsautoritet.

Den grundlæggende syntaks er som følger:

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

Lad os f.eks. tjekke signaturen på Terminal.app, der findes i /Applications/Utilities/

codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Format=bundt med Mach-O tynd (x86_64) CodeDirectory v=20100 size=5227 flag=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 Krav til TeamIdentifier 8 Ressourcer=34 TeamIdentifier 6 Internt 9

Det, du leder efter, er indtastninger af hash-type, hash og autoritet. I dette tilfælde er hash-typen sha1, og den underskrevne autoritet er Apple, hvilket er, hvad du ville forvente.

Ja, du kan også bruge kommandolinjen til bare at tjekke sha1- eller md5-hash af applikationsinstallatører og downloads og sammenligne dem med en legitim kilde, men det vil ikke afsløre kodesigneringen og certifikatdetaljerne.

Husk på, at det meste kodesigneret software, der er blevet ændret af en uautoriseret part, vil blive afvist af Gatekeeper i Mac OS X, medmindre Gatekeeper er blevet deaktiveret eller på anden måde omgået, men selv med Gatekeeper tilbage på den teoretisk muligt for en driftig goon at finde en vej rundt om det, og selvfølgelig kan software, der ikke er blevet certificeret af en identificeret udvikler, altid lanceres omkring Gatekeeper alligevel.

Du kan om kodesignering på Wikipedia og på Apples udviklervejledning til kodesignering her.

Tjekker du nogensinde, om apps er signeret? Det kan være en gyldig måde at bestemme, hvad nogle processer og apps er, og det kan også være nyttigt til fejlfinding. Prøv det næste gang du spekulerer på, hvad noget er, og om det er underskrevet eller ej!

Sådan viser du & Bekræft kodesignaturer til apps i Mac OS X