Wenn ich ein JAR mit einem Zertifikat von Comodo signiere, bekomme ich trotzdem Warnungen?

Ich habe eine Software in Java geschrieben, die ich verkaufen möchte, aber sie ist derzeit nicht signiert. Als ich die Software zum ersten Mal geschrieben habe, war es nicht allzu wichtig, aber ich denke, OS X wurde seitdem aktualisiert und ist strenger geworden, ebenso wie Webbrowser, und ich erhalte jetzt viele Warnungen, dass die Datei „nicht häufig heruntergeladen wird und kann gefährlich sein" und OS X lässt die Ausführung der App nicht zu, ohne die Sicherheitseinstellungen zu ändern.

Soweit ich das beurteilen kann, besteht die einzige Möglichkeit, dies zu beheben, darin, die Anwendung zu signieren, was für Windows in Ordnung ist, aber unter OS X bin ich etwas verwirrt. Ich habe online gelesen, dass jetzt nur von Apple ausgestellte Zertifikate gültig sind, aber einige Unternehmen wie DigiCert werben immer noch damit, dass ihre Code Signing-Zertifikate auf Mac funktionieren, und so ziemlich alle sagen, dass sie mit Java funktionieren. Wenn ich also meine JAR-Dateien mit einem Code Signing-Zertifikat von Comodo signiert und dann JarBundler zum Erstellen einer App verwendet habe, würde diese als „sicher“ erkannt werden?

Antworten (2)

Nachdem ich in den sauren Apfel gebissen und ein Code-Signing-Zertifikat erworben habe, kann ich meine eigene Frage nun mit aller Gewissheit beantworten:

Kurze Antwort: Nein, die Warnungen erscheinen nicht unter OS X – obwohl sie es in Webbrowsern tun.

Lange(r) Antwort: Technisch gesehen funktionieren Zertifikate von Comodo oder jeder anderen vertrauenswürdigen Zertifizierungsstelle auf dem Mac und Sie können absolut .appsmit ihnen signieren, aber wie nützlich das ist, ist eine andere Sache. Ich nehme an, dass es für fortgeschrittene Benutzer immer noch von Vorteil ist, dass Sie überprüfen können, ob eine Anwendung manipuliert wurde oder nicht, aber Apple wird sie immer noch nicht als von einem vertrauenswürdigen Entwickler stammen sehen - und hier beginnt die Verwirrung.

Die Warnungen, die ich in meiner ursprünglichen Frage erwähnt habe, stammen von Gatekeeper . Nun, wenn ich gewusst hätte, dass ich diese Frage nicht hätte beginnen müssen, aber ich denke, wenn ich es nicht gewusst hätte, würden andere Leute es auch nicht tun. Wie auch immer, Gatekeeper ist etwas, das Apple entwickelt hat, um Macs sicher zu halten und zu verhindern, dass unerwünschte, bösartige Software in das System eindringt. Dies geschieht, indem eingeschränkt wird, welche Apps basierend auf ihrem Ursprung ausgeführt werden können, und standardmäßig in OS X Mountain Lion und höher erlaubt Gatekeeper nur die Ausführung von Apps aus dem Mac App Store und vertrauenswürdigen Entwicklern.

Um ein vertrauenswürdiger Entwickler zu werden, braucht es jedoch mehr als nur das Signieren von Code mit einem alten Zertifikat. Vertrauenswürdige Entwickler haben Entwickler-IDs, die ihnen von Apple gegeben wurden, und ihr Codesignaturzertifikat enthält diese Entwickler-ID; Auch hier sind die einzigen Zertifikate, die eine Entwickler-ID enthalten können, die von Apple ausgestellten.

Wenn Ihnen also Leute sagen, dass Apple nur sich selbst vertraut, ist das nicht wahr. Sie vertrauen Zertifikaten, die von den meisten Zertifizierungsstellen ausgestellt werden, nur nicht auf die gleiche Weise wie Windows, und das Signieren Ihrer App bedeutet nicht, dass Sie ein vertrauenswürdiger Entwickler sind. Dafür müssen Sie Apple 99 $/Jahr zahlen.

Um ehrlich zu sein, Sie bekommen viel für diese 99 $ und es macht Sinn, dass es so ist. Das ist frustrierend für Entwickler, aber sicherer für Benutzer! Benutzer können Gatekeeper für einzelne Apps umgehen. Wenn Sie also nur eine App für OS X oder ähnliches veröffentlichen möchten, ist die Bereitstellung von Anweisungen dazu möglicherweise eine bessere Option für Sie.

PS: Nach vielen E-Mails an das Comodo-Support-Team habe ich endlich diese Erklärung von ihnen erhalten, um dies alles zu bestätigen:

Während unsere Zertifikate beim Signieren von .app-Dateien einwandfrei funktionieren, erhalten Sie keine Apple-Entwickler-ID, um zu kennzeichnen, dass Sie ein von Apple identifizierter Entwickler sind, da nur Apple Entwickler-IDs für Mac- und iOS-Anwendungen bereitstellt.

Ihre JAR-Dateien werden als sicher betrachtet, sobald Sie sie mit dem Comodo Code Signing Certificate signiert haben.

Das Comodo Code Signing Certificate ist mit Mac OS, Linux und Windows kompatibel, sodass Sie in Ihrem OS X keine Warn- oder Warnmeldungen erhalten.

Dieser Artikel hilft Ihnen zu verstehen, wie das Comodo Code Signing-Zertifikat .Jar-Dateien sichert – https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/531/7/signing-jar-files

Das klingt großartig, aber was ist das alles, was ich darüber lese, dass Apple nur die Verwendung von Zertifikaten zulässt, die von ihnen ausgestellt wurden?
Apple vertraut Ihrer Software/App, wenn sie von einer der vertrauenswürdigen Zertifizierungsstellen wie Comodo, Symantec, Thawte usw. signiert ist.
Das ist falsch. Eine Entwickler-ID ist erforderlich, um eine App für Gatekeeper zu signieren.