Frage:
Apps auf eine "GateKeeper" -Entwickler-ID prüfen?
hotpaw2
2012-05-11 22:50:32 UTC
view on stackexchange narkive permalink

Gibt es eine Möglichkeit für einen Mac-Benutzer, auf dem derzeit Snow Leopard oder Lion ausgeführt wird, möglicherweise über die Terminal-Befehlszeile zu überprüfen, ob eine aus dem Internet heruntergeladene Anwendung mit einer von Apple ausgestellten Entwickler-ID digital signiert wurde?

Wenn ja, welche Vorteile könnte es für einen Mac-Benutzer haben, eine solche Überprüfung jetzt durchzuführen?

Apple hat Mac-Entwickler aufgefordert, ihre Mac-Anwendungen digital mit einer von Apple herausgegebenen Entwickler-ID zu signieren, die Apple angekündigt hat irgendwann in der Zukunft von Mac OS verwendet werden.

Ich verstehe nicht so sehr, dass Apple die Entwickler-ID ausstellt, sondern ein Entwicklerzertifikat signiert, sodass Macs mit aktiviertem Gatekeeper diesen signierten Code validieren, wenn er unter Quarantäne gestellt und noch nicht gelöscht wurde, wenn sie das Apple-Zertifikat zum Signieren ihres Codes verwenden läuft auf deinem Mac.
Da dies eher eine Q & A-Site für Benutzer ist, können Sie dies mit Begriffen erklären, die ein Nicht-Entwickler möglicherweise besser versteht?
Entwickler werden mit Apple zusammenarbeiten, um sicherzustellen, dass Apps ordnungsgemäß signiert sind.
Zwei antworten:
Ben Gotow
2013-05-08 02:46:05 UTC
view on stackexchange narkive permalink

Wenn Sie die Entwicklertools installiert haben, können Sie die Signaturinformationen für eine Binärdatei mit diesem Befehl anzeigen:

  Codesign -dvvv <path zu app.app>  

Die Ausgabe sieht folgendermaßen aus:

  Executable = / Volumes / Big Disk / F376 / Projects / <My App>Identifier = <My Bundle ID>Format = Bundle mit Mach-O thin (x86_64) CodeDirect 20100 size = 3958 flags = 0x0 (keine) hashes = 189 + 5 location = embeddedHash type = sha1 size = 20CDHash = 761b0d1XXXXXXXXXX0dc8dd42e38eb445fb5341fSignature size = 8504Authority = Developer ID Application: XXXXAxhorhor = Entwickler ID ID: : 07: 59 PMInfo.plist-Einträge = 30 Regeln für versiegelte Ressourcen = 4 Dateien = 128 Anzahl der internen Anforderungen = 1 Größe = 224  
bmike
2012-05-12 01:19:22 UTC
view on stackexchange narkive permalink

Ohne zu weit vom Thema entfernt zu sein, können Sie mithilfe der von Xcode installierten Befehlszeilentools otool oder pagestuff überprüfen, ob eine Binärdatei zur Vorbereitung auf Gatekeeper signiert wurde als Teil der optionalen Downloads.

enter image description here

Wenn Sie diese nicht installieren möchten, können Sie auch xcode-select und xcrun , um diese Tools von der Stelle aus auszuführen, an der sie sich in der Xcode-App befinden, die in /Applications heruntergeladen wird.

Hier ist eine App, die signiert zu sein scheint und für Gatekeeper bereit ist - MarsEdit

  mac: Anwendungen me $ xcrun otool -l /Applications/MarsEdit.app/Contents/MacOS/MarsEdit | grep LC_CODE_SIGNATURE cmd LC_CODE_SIGNATUREmac: Anwendungen me $ xcrun pagestuff / Anwendungen / MarsEdit.app / Inhalt / MacOS / MarsEdit -a | grep SignaturDatei Seite 241 enthält Daten der Codesignatur (x86_64) Datei Seite 242 enthält Daten der Codesignatur (x86_64) Datei Seite 243 enthält Daten der Codesignatur (x86_64) Datei Seite 423 enthält Daten der Codesignatur (i386) Datei Seite 424 enthält Daten der Codesignatur (i386) Datei Seite 425 enthält Daten der Codesignatur (i386) Datei Seite 426 enthält Daten der Codesignatur (i386)  

Nun, dies sagt Ihnen noch nicht einmal ob der Schlüssel gültig ist, wenn er mit Ihrem Schlüsselbund verglichen wird. Dazu muss der Entwickler einen von Apple signierten Schlüssel verwenden und Apple den entsprechenden Signaturschlüssel an Ihren Mac senden, um zu überprüfen, ob der Entwicklerschlüssel "vertrauenswürdig" ist.

Da dies recht kompliziert ist, können Sie dies tun Aktivieren Sie einfach die Überprüfung (bitte speichern Sie alle kritischen Arbeiten und sichern Sie Ihren MAC, bevor Sie dies tun) auf 10.7.3:

  • sudo spctl --enable #if Sie wissen nicht, was sudo ist. Sie sollten dies überspringen, bis Sie verstanden haben, dass der falsche Befehl Ihr System oder Ihre Dateien löschen könnte. Alle von ihnen sind total weg.

Es sieht so aus, als ob spctl für 10.7.4 verbessert wurde, aber ich habe es nicht mehr untersucht, als die Manpage für das Tool zu lesen. Auf diese Weise können Sie überprüfen, ob eine bestimmte App gelöscht wurde oder nicht, und auf niedrigerer Ebene verschiedene Regeln und Überprüfungen aktivieren / deaktivieren, die den Marketingbegriff von Gatekeeper unterstützen.

Wie für Warum Sie dies überprüfen könnten, wäre es nur aus Gründen der Neugierde oder einer Art Prahlerei, wenn Sie kein Entwickler sind, der dies testen und sicherstellen muss, dass Ihr Code auf beiden Betriebssystemen (Mountain Lion und Lion) ausgeführt wird.

Für die meisten Menschen wäre es gut genug zu wissen, was Gatekeeper ist. Für Neugierige - hier ist eine schöne Leseliste:

Dies kann also derzeit nur durch Herunterladen von Xcode erfolgen?
Sie sollten `spctl` auf Ihrem Mac haben (10.7.3 und höher), aber es ist noch nicht klar, wie Sie es zur Überprüfung verwenden sollen. Dieselben Apps, die ein Zertifikat anzeigen, werden von `spctl` nicht validiert. Xcode ist ein kostenloser Download und Sie können die "xcrun" -Version der Tools verwenden. Wenn Sie also Xcode aus / Applicatins löschen, werden alle Trace-Dateien von Ihrem Mac entfernt.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...