SponsorEinreichen
Blog

Signierung und Notarisierung in einfachen Worten, für Menschen, die ihre erste Mac-App bauen

Von Justinas Rolando, Macher von MacPip

Kurze Antwort

Signieren setzt deinen Namen auf die App und zeigt, dass sie sich nicht verändert hat. Notarisierung schickt sie an Apples automatischen Scan. Stapling hängt das Ergebnis an, damit es offline geprüft werden kann. Du machst das in dieser Reihenfolge, und zuletzt, nachdem der Build fertig ist.

Wenn du deine App nur je aus Xcode gestartet hast, kann dieser Teil des Versands wie eine Wand aus Zertifikaten wirken. Die Ideen sind einfach, und es gibt nur drei davon. Für alle Details mit Apples verlinkten Dokumenten lies was Notarisierung auf dem Mac ist. Dieser Beitrag ist die Kurzfassung für Macher.

Die drei Schritte

Wenn du nur über den Mac App Store verkaufst, überspringst du die letzten beiden. Apple signiert Store-Apps, und seine Dokumentation sagt, dass der Store-Prozess gleichwertige Sicherheitsprüfungen hat.

Was deine Nutzer sehen, wenn du es auslässt

Sie bekommen eine Warnung. macOS sagt, es kann die App nicht überprüfen, und seit macOS Sequoia kommt man mit Control-Klick nicht mehr daran vorbei. Sie müssen in die Systemeinstellungen gehen und „Trotzdem öffnen“ wählen. Manche Leute geben an dieser Stelle auf, und ich kann es ihnen nicht verübeln. Was „Apple konnte nicht überprüfen“ bedeutet zeigt dieselbe Warnung aus ihrer Sicht, und das lohnt sich einmal zu lesen.

Die Reihenfolge, die dir einen Nachmittag spart

  1. Schließe den Build ab. Alles, was du nach dem Signieren änderst, bricht die Signatur.
  2. Signiere zuerst den verschachtelten Code, etwa Frameworks und Helfer, dann die App selbst. Nutze die Hardened Runtime und einen sicheren Zeitstempel, weil die Notarisierung beides verlangt.
  3. Packe es in ein DMG, wenn du so ausliefern willst, und signiere das auch.
  4. Reiche sie mit notarytool ein. Apple sagt, der Scan dauert meist weniger als eine Stunde.
  5. Lies das Protokoll, auch bei Erfolg.
  6. Staple sie mit stapler.

Prüfe deinen eigenen Build

spctl -a -vv /Applications/YourApp.app
xcrun stapler validate /Applications/YourApp.app

Bei der ersten willst du source=Notarized Developer ID sehen und bei der zweiten eine Erfolgsmeldung. Füge, was du bekommst, in den Erklärer zur Notarisierung ein, und er sagt, was jede Zeile bedeutet, oder er sagt dir, wenn er etwas nicht erkennt. Er liest den Text in deinem Browser und sendet nichts irgendwohin.

Dann mach den Test, der am meisten fängt: lade deinen eigenen Build über einen Browser auf einem anderen Mac oder Benutzerkonto herunter und öffne ihn. Die Launch-Checkliste hat diesen und die anderen Schritte in Reihenfolge.

Was notarisiert nicht bedeutet

Das heißt nicht, dass sie gut, privat oder sicher ist. Es heißt, Apples automatischer Scan hat nichts gefunden, was er kennt. Versprich auf deiner Website nicht mehr als das. Wie du erkennst, ob eine Mac-App sicher ist erklärt aus Nutzersicht, was jede Prüfung beweisen kann und was nicht.

Was MacPip damit macht

MacPip verlangt signierte und notarisierte Downloads. Open-Source-Apps sind ohne das willkommen, und ihr Bericht sagt das. Ein blauer Haken heißt, ein Mensch hat die App am angegebenen Datum geprüft, und Signierung und Notarisierung stehen im Bericht nur, wenn wir sie an einer heruntergeladenen Kopie bestätigt haben. Er ist keine Sicherheitsgarantie, und unsere Regeln sagen das. Wenn dein Build fertig ist, kannst du ihn kostenlos listen.

Real listings to look at

Check reports on MacPip say what was confirmed on a real copy. These two developer-minded listings are good ones to open and read.

Quellen

Weiterlesen

Deine App einreichenKostenlose Tools für Macher