Links überspringen

FileMaker Runtime-Lösungen mit einer Codesignatur für macOS versehen.

Codesignatur

FileMaker Runtime-Lösungen mit einer Codesignatur versehenDa alle Betriebssysteme in den vergangenen Jahren immer häufiger zahlreichen Angriffen durch Schadsoftware ausgesetzt waren, haben die Hersteller reagiert und entsprechende Sicherheitsmaßnahmen in ihre Betriebssysteme integriert. So enthält das Apple-Betriebssystem Mac OS X (seit 10.12 „macOS“) seit Mac OS X 10.7 „Lion“ den Systembestandteil „Gatekeeper“, der das Ausführen unsignierter Programme einschränkt. Dabei kann der Benutzer in den Systemeinstellungen vorgeben, welche Sicherheitsstufe Gatekeeper bei der Ausführung neuer Programme zugrunde legen soll. Versucht der Benutzer, ein neues Programm unterhalb der geforderten Sicherheitsstufe zu starten, erscheint ein Dialog, daß die Ausführung des Programms nicht möglich ist. Auch unter Windows erscheinen entsprechende Warnmeldungen, wenn versucht wird, ein nicht signiertes Programm auszuführen. In diesem Beitrag erläutern wir, wie sich FileMaker Runtime-Lösungen und zugehörige Installer oder DMG-Images mit einer Codesignatur versehen lassen.

Gatekeeper mit mehreren Sicherheitsstufen

Seit Mac OS X 10.7 „Lion“ verfügt Gatekeeper über drei Sicherheitsstufen, mit denen neue Programme ausgeführt werden können:

  • Mac App Store – Erlaubt ausschließlich die Installation von Programmen aus dem Mac App Store.
  • Mac App Store und verifizierte Entwickler – Erlaubt die Installation von Programmen aus dem Mac App Store und die Installation von Programmen mit gültiger Codesignatur.
  • Keine Einschränkungen – Erlaubt die Installation beliebiger Programme, wobei beim Start eine entsprechende Warnmeldung erscheint. Diese Option in Gatekeeper steht ab macOS 10.12 „Sierra“ nicht mehr zur Verfügung.

Seit macOS 10.12 „Sierra“ kommen Softwareentwickler auf der Mac-Plattform also nicht mehr umhin, die Anwendung mit einer Codesignatur zu versehen, weil sich die Anwendung sonst schlicht nicht mehr installieren läßt. Wenn eine FileMaker Runtime-Lösung bereits in einer älteren Betriebssystemversion installiert wurde, kann die FileMaker-Runtime nach einem Update auf macOS 10.12 „Sierra“ jedoch problemlos weiterhin ausgeführt werden.

Gültiges Zertifikat als Apple-Entwickler

Um eine FileMaker Runtime-Lösung mit einer Codesignatur zu versehen, ist eine Mitgliedschaft als Apple-Entwickler erforderlich, für die eine Jahresgebühr von 99 Euro anfällt. Dabei fallen jedoch keine weiteren Kosten für entsprechende Zertifikate an.

Anmeldung als Apple-Entwickler

Wenn die Anmeldung als Apple-Entwickler erfolgreich durchgeführt wurde, erscheint das Hauptmenü für den erstellten Account des Apple Developer Programs.

Apple Developer Program Overview

Um ein neues Zertifikat zu erstellen, wählen Sie den Menüpunkt „Certificates, IDs & Profiles“ aus. Im Beispiel-Screenshot sind bereits drei Zertifikate abgebildet, die bei Ihnen nach einer Neuanmeldung als Apple-Entwickler noch nicht erstellt wurden. Wählen Sie im Popupmenü über der Menüleiste in der linken Spalte den Eintrag „OS X“ aus.

apple-developer-certificates

Um ein neues Zertifikat zu erstellen, klicken Sie auf die Schaltfläche [+].

What type of certificate do you need?

Auf der Seite „What type of certificate do you need?“ wählen Sie die folgenden Optionen aus:

  • Development: Mac Development, wenn Sie das Zertifikat nur für Testzwecke nutzen möchten.
  • Production: Developer ID, wenn Sie das Zertifikat für den Vertrieb Ihrer Software nutzen möchten.

Select the certificates you want to generate

Auf der Seite „Select the certificates you want to generate“ wählen Sie

  • Developer ID Application für die FileMaker Runtime-Lösung.
  • Developer ID Installer für ein etwaiges Installationsprogramm.

About Creating a Certificate Signing Request (CSR)

Auf der Seite „About Creating a Certificate Signing Request (CSR)“ werden Sie aufgefordert, eine CSR-Datei mit der Schlüsselbundverwaltung von macOS zu erstellen:

Zertifikatsassistent

  • Öffnen Sie die Schlüsselbundverwaltung in /Programme/Dienstprogramme.
  • Wählen Sie in der Menüleiste den Eintrag [Schlüsselbundverwaltung > Zertifikatsassistent > Zertifikat einer Zertifizierungsinstanz anfordern].
    • Tragen Sie in das Feld [E-Mail des Benutzers] Ihre E-Mail-Adresse ein.
    • Tragen Sie in das Feld [Allgemeiner Name] Ihren Namen ein.
    • Lassen Sie das Feld [E-Mail der Zert.-Instanz] leer, auch wenn im Feld „Erforderlich“ stehen sollte.
    • Wählen Sie unter [Anfrage] die Option [Auf der Festplatte sichern] aus und klicken auf [Fortfahren], um die Datei zu erstellen und auf Ihrer Festplatte zu sichern.

Generate your certificate

Auf der Seite „Generate your certificate“ werden Sie aufgefordert, die in der Schlüsselbundverwaltung gespeicherte Datei hochzuladen. Klicken Sie dazu auf die Schaltfläche [Choose File] und wählen die entsprechende Datei aus. Klicken Sie daraufhin auf die Schaltfläche [Continue].

Download and install certificate

Auf der Seite „Your certificate is ready“ können Sie nun das fertige Zertifikat auf Ihren Mac herunterladen. Nach dem Download navigieren Sie im Finder zur heruntergeladenen Schlüsseldatei und doppelklicken sie, um sie in der Schlüsselbundverwaltung hinzuzufügen. Die Installation Ihres Zertifikats in der Schlüsselbundverwaltung ist damit abgeschlossen. Wiederholen Sie den Vorgang, wenn Sie einen eigenen Schlüssel für ein eventuelles Installationsprogramm erzeugen möchten.

Signieren einer FileMaker Runtime-Lösung

Für das Versehen einer FileMaker Runtime-Lösung mit einer Codesignatur hat Christian Schmitz von Monkeybread Software eine entsprechende Anleitung erstellt. Rufen Sie die Anleitung in Ihrem Web-Browser auf und laden die dort verfügbare Datei „signscript.zip“ herunter. Entpacken Sie das Zip-Archiv und öffnen Sie die Datei [SignScript] in einem Texteditor wie z.B. TextWrangler oder Fraise. Wenn Sie die Datei mit TextEdit öffnen, achten Sie darauf, daß Sie die Datei am Ende im richtigen Format (UTF-8) exportieren.

SignScript im Texteditor bearbeiten

Ersetzen Sie nun alle mit /Users/cs/Desktop angegebenen Pfade durch den Pfad zu Ihrer FileMaker Runtime-Lösung. Nutzen Sie dazu am Besten die „Suchen und Ersetzen“-Funktion Ihres Texteditors, um definitiv alle Pfade zu ersetzen. Daraufhin ersetzen Sie den angegebenen App-Namen test.app mit dem Namen des Startprogramms Ihrer FileMaker Runtime-Lösung. Ersetzen Sie im letzten Schritt den Namen des angegebenen Zertifikats Developer ID Application: Christian Schmitz Software GmbH durch den Namen Ihres Zertifikats. Bitte berücksichtigen Sie, daß Sie Sonderzeichen wie beispielsweise Leerzeichen entsprechend kodieren müssen. Wenn Sie sich unsicher sind, wie Sie den Pfad mit eventuell kodierten Sonderzeichen eingeben müssen, öffnen Sie das Programm „Terminal“ und ziehen Ihre FileMaker Runtime-Lösung in das Terminal-Fenster. Dort erscheint nun der Name Ihres Programms, wie er korrekt kodiert in die Datei „SignScript“ eingefügt werden muß.

Speichern Sie nun die Datei „SignScript“ und öffnen Sie das Programm „Terminal“. Ziehen Sie die Datei „SignScript“ mit gedrückter Maustaste in das Fenster des Terminals und drücken zum Start die Return-Taste. Eventuelle Meldungen eines „rm“-Kommandos zum fehlgeschlagenen Löschen von Dateien können ignoriert werden. Wenn Meldungen zum erfolgreichen Signieren der App erscheinen, wurde Ihre App korrekt mit einer Codesignatur versehen. Unter dem Punkt „Verification“ finden Sie in der Anleitung zwei Befehle, mit denen Sie Ihre App auf korrekte Codesignatur testen können.

Mac Installer mit dem PackageMaker erstellen

In früheren Xcode-Versionen hat Apple den PackageMaker mitgeliefert, mit denen sich Installationsprogramme für die Installation eigener Apps erstellen lassen. In neueren Xcode-Versionen wird dieses Tool nicht mehr mitgeliefert, es läßt sich jedoch nach wie vor im Developer-Bereich der Apple-Website herunterladen. Wechseln Sie dazu in Ihrem Login-Bereich auf „Downloads“ und klicken Sie auf „Show all downloads“. Der PackageMaker befindet sich im Archiv „Auxiliary Tools for Xcode – Late July 2012“. Tragen Sie am Besten einen entsprechenden Suchbegriff in das Suchfeld oben links ein.

Download PackageMaker

Laden Sie die Datei „Auxiliary Tools for Xcode – Late July 2012“ auf Ihren Mac herunter und öffnen das DMG-Image.

PackageMaker installieren

Doppelklicken Sie das Symbol „PackageMaker.app“, um den PackageMaker auf Ihrem Mac zu installieren. Daraufhin können Sie den PackageMaker wie gewohnt aus Ihrem Programmverzeichnis heraus starten. Wie Sie mit dem PackageMaker ein Installationsprogramm für Ihre FileMaker Runtime-Lösung erstellen können, erfahren Sie in dieser Kurzanleitung oder in dieser detaillierten Anleitung.

Signieren einer FileMaker Runtime-Lösung unter Windows

Unter Windows gibt es prinzipiell mehrere Möglichkeiten, FileMaker Runtime-Lösungen und zugehörige Installationsprogramme mit einer Codesignatur zu versehen. Der technische Ablauf für die Codesignatur unter Windows ist grob gesehen identisch mit dem Ablauf in macOS. Neben der Anmeldung als Entwickler bei Microsoft muß zusätzlich für eine bestimmte Laufzeit ein Sicherheitszertifikat erworben werden, mit dem die Datenbanklösung signiert werden kann. Aufgrund der Vielzahl an Möglichkeiten werden wir zu diesem Thema weitere Recherchen vornehmen und das Ergebnis demnächst in einem weiteren Beitrag veröffentlichen.

Austausch zum Thema Codesignatur auf der FileMaker Konferenz 2016

Im Forum des FileMaker Magazins haben mehrere Entwickler angekündigt, auf dieses aktuelle Thema in der nächsten Woche auf der FileMaker Konferenz näher einzugehen. Die FileMaker-Konferenz findet vom 13. bis 15. Oktober 2016 in Salzburg statt.

Schreiben Sie einen Kommentar zu Ralph Büchle Antworten abbrechen

  1. Großartige Anleitung. Vielen Dank

    In dem Script von Christian Schmitz gehört noch eine Änderung, das sonst die Signierung in der letzten Zeile scheitert.

    # remove extended attributes, if present
    xattr -cr test.app

    Das gehört noch vor den Signierungsbefehlen

  2. Sehr gute Anleitung, danke!
    Noch eine Ergänzung für Leute, die sich bei Apple als Entwickler neu anmelden: Es genügt also nicht, einen Developer-Account zu erstellen. Certificates, Identifiers & Profiles sieht man noch nicht. Man sieht auch nicht so einfach, wie man dazu kommt, die 99 Euro zahlen zu dürfen. Dazu Klick unten auf „Join … “ (habe vergessen wie der Text lautet). Dann Klick auf [Enroll] rechts oben.
    Nach Kauf dauert es bis zu 48 Stunden, bis der bezahlte Account frei geschaltet wird und man sich ein Zertifikat ausstellen lassen kann. Es kommt dann eine E-Mail. Bis dahin erscheint unter dem Namen „Pending“. Und bis dahin nicht auf „Purchase…“ klicken, was verwirrenderweise angezeigt wird, obwohl der Kauf eh schon erfolgt ist.

Diese Seite teilen:

ERP-Software so flexibel wie Ihr Unternehmen.
Wir beraten Sie gern.

Anpassbare ERP-Software für Mac, Windows und iOS.

Sie sind hier: FileMaker Runtime-Lösungen mit einer Codesignatur versehen.