Comment puis-je déterminer si un certain fichier .app est signé

45

Obtenir des informations sur une application ne génère pas les informations de signature. Sous Windows par exemple, cliquez avec le bouton droit de la souris sur> propriétés pour déterminer qui a signé le fichier.

Comment puis-je obtenir cette information pour un fichier .app donné sous OS X?

JasonGenX
la source
Que se passe-t-il si vous regardez dans Contents / _CodeSignature ??
GEdgar

Réponses:

51

Vous pouvez vérifier un fichier en exécutant la commande suivante dans Terminal:

 codesign -dv /Applications/Whatever.app

Il existe un outil gratuit qui implémente les fonctions de la commande codesign et l’étend avec une belle interface graphique. C'est ce qu'on appelle RB App Checker (sur l'App Store) ainsi qu'un site décrivant le programme http://brockerhoff.net/RB/AppCheckerLite/

Je n'ai besoin de rien d'autre que de ces deux outils pour vérifier la signature de code sous OS X, donc espérons qu'ils répondent à vos besoins. Vérifiez AppChecker si votre Mac n’a pas de code-code (certains anciens modèles avaient besoin de Xcode pour obtenir cet outil avant la livraison par gatekeeper).

Pour ce qui est de savoir comment vous le sauriez, le système d’exploitation affichera les applications non fiables sous forme de dim et avec une icône générique jusqu’à ce que le processus de contrôle-porte approuve l’exécution d’un paquet. si du code est signé ou non signé, en particulier si l'on considère que le portier peut être désactivé sur un Mac donné.

bmike
la source
16
-dvvv ajoute des lignes pour les autorités de certification, le type de hachage et le hachage littéral. -dv (ou -dvvv) n'indique pas réellement si la signature est valide ou invalide. -v indique si la signature est valide et si ce n'est pas le cas, -vv imprime également les fichiers modifiés.
Lri
1
@Lri Les autorités de certification répertoriées ne sont que des chaînes de texte. N'importe qui peut créer n'importe quelle autorité de certification avec n'importe quel nom. Donc, en plus de cela, comment vérifier que les hachages correspondent à des autorités de certification fiables? Voulons-nous le CandidateCDHash ou le CDHash? Cela prouve-t-il qu'il n'y a pas de fausses autorités racine ou autres installées?
Nealmcb