2014-05-23 7 views
13

hinzufügen Ich habe eine DMG-Datei in meinem Portal.Nach dem Download, wenn ich versuche, es zu öffnen, zeigt eine Nachricht, dass das Öffnen des Pakets unsicher ist. Ich bin in der Lage, Codesign über Befehlszeile mit Codesign-Befehl hinzufügen und auch prüfen, ob es hinzugefügt wird oder nicht. aber immer noch, wenn ich meine dmg-Datei unsicher Nachricht zu öffnen, kommtWie cgsigning zu DMG-Datei in Mac

Antwort

16

Ab macOS 10.11.5 können Sie jetzt Disk-Images schreiben, .dmg, Dateien mit dem codesign-Tool:

codesign -s <identity> --keychain <full-path-to-keychain> <path-to-disk-image> 
+0

Was ist mit gemeint? Kannst du ein Beispiel geben? Vielen Dank. –

+0

Der 'vollständige Pfad' ist ein absoluter Dateipfad, der mit einem'/'beginnt. –

+0

Normalerweise ist es Ihr Login-Schlüsselbund: '"/Benutzer/Benutzername/Bibliothek/Schlüsselanhänger/Login.keychain "' – Daniel

9

Es gibt 3 Möglichkeiten, mach das. Im Terminal unter OS X 10.11.5 oder neuer. Hinweis: Sie können DMGs unter früheren Betriebssystemen signieren, Sierra mag sie jedoch nur ab 10.11.5 oder neuer.

codesign --force --sign "Developer ID Application: <identityIdentifier>" <pathToDMG> 

Überprüfung via erfolgt (erfordert macOS Sierra).

spctl -a -t open --context context:primary-signature -v <pathToDMG> 

Araelium haben DMG Canvas (v2.3) aktualisiert, so wird es codieren DMGs unterzeichnen, wenn es baut.

DropDMG wurde aktualisiert, um DMG-Bilddateien zu signieren (v3.4).

Es gibt auch (ein Werkzeug, das ich entwickelt habe) App Wrapper (3.6), die DMG-Dateien signieren können.

5

Früher habe ich Mühe, Zeichen dmg auf 10.11.5 zu codieren, auch dieser Befehl codesign -s <identity> <path-to-disk-image> ist mir bekannt.

Was ich früher tue, ist

  1. die Read erstellen/DMG Schreiben (erstellt mit dem Festplatten-Dienstprogramm)
  2. Kopieren App und andere externe Ressourcen
  3. -Code DMG-Codesign Befehl
  4. Convert unterzeichnet Lesen Sie nur DMG mit dem Festplatten-Dienstprogramm
  5. Überprüfen Sie es mit spctl -a -t open --context context:primary-signature <path-to-disk-image>, was zu einer Ablehnung führt.

Dann wenige Permutation und Kombination, fand ich es ziemlich einfach geradeaus Lösung:

  1. die Read erstellen/DMG Schreiben (erstellte Festplatten-Dienstprogramm).
  2. Copy App und andere externe Ressourcen
  3. Konvertieren es nur lesen DMG Disk Utility mit
  4. -Code unterzeichnet DMG-Codesign-Befehl (Diesmal habe ich es tat auf Sierra, wahrscheinlich sollte mit 10.11.5 arbeiten)
  5. Überprüfen Sie es mit spctl -a -t open --context context:primary-signature <path-to-disk-image>, die zum Erfolg führt.

Ich hoffe, das funktioniert für Sie. :)

+0

Kannst du bitte den Befehl posten, den du benutzt hast, um die dmg zu signieren? – singularity

+0

Es ist bereits in der Antwort erwähnt. Es ist Codesign -s "Entwickler-ID-Anwendung: NAME" Verwenden Sie tiefe und zwingen Sie Optionen nach Ihren Bedürfnissen. Bitte gehen Sie durch die manuelle Seite von Codesign https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/codesign.1.html – Khushneet

+0

Dank Khushneet, habe es funktioniert. – singularity