2012-07-26 11 views
30

Mit der neuen Version von OS X 10.8, die Torwächter werden die folgende Warnung Popup, wenn Sie versuchen, ein signiertes Java-Applet zu starten:OS X 10.8 Torwächter und Java-Applets

enter image description here

Das Applet wurde Es wird mit einem gültigen Code-Signatur-Zertifikat signiert und funktioniert auf anderen Plattformen sowie in früheren Versionen von OS X ordnungsgemäß. Wenn ich "Von Anwendungen heruntergeladene Anwendungen zulassen" auf "Überall" ändere, funktioniert es ordnungsgemäß.

Soweit ich herausfinden kann "Die digitale Signatur konnte nicht verifiziert werden", bedeutet eigentlich so etwas wie "Die Signatur wurde nicht mit einer Mac Developer ID gemacht".

Also: Kann ich Java-Applets mit einer Mac Developer ID signieren? Kann ich es sowohl mit einer Mac Developer ID als auch mit einem Standardcode-Signaturzertifikat signieren? Gibt es einen besseren Ansatz?

+2

Übrigens, ich denke, das ist dumm, weil Applets in Webbrowsern verwendet werden, und sie sind plattformunabhängig. Es ist eine Schande, dass Apple anders arbeitet als der Rest der (OS) Welt ... – tiktak

+1

@tiktak Gleichzeitig hat sich Java als eine gute Quelle für Ärger für Apple erwiesen. Keine Sorge, das gilt auch für Flash. Ihre Phobie hat also in der Realität einen gewissen Boden. –

Antwort

10

Hier ist die Antwort, die ich von Apple Developer Technical Support erhielt:

Ihnen für Ihre Geduld danken, während wir dies untersucht.

Die Warnung wird von Java und nicht von Gatekeeper angezeigt. Sie sind jedoch korrekt, dass die Verifikationslogik auf OS X Mountain Lion geändert wurde.

Seit einiger Zeit haben die Nutzer mit dieser Warnmeldung präsentiert, wenn ein signiertes Applet ausgeführt wird, weil signierte Applets die Java-Sandbox und unerwartete Änderungen des Systems des Benutzers machen entweichen kann. Benutzer haben die Option, das Kontrollkästchen "Alle Applets zulassen von" zu aktivieren, wenn sie dem Entwickler vertrauen und sie daher die Warnung nicht sehen, es sei denn, sie entfernen das Element aus den Java-Sicherheitseinstellungen.

Was in Mountain Lion geändert hat, ist, dass die Überprüfung Alarm jetzt bedeutet im Grunde, dass die Unterschrift des Applets ist gültig, aber das Applet von einem unbekannten Entwickler ist und versucht, Privilegien eskalieren wenn Torwächter aktiviert ist und der Benutzer muss Entscheiden Sie, ob dies erlaubt .

"Nicht identifizierter Entwickler" bedeutet eine andere Quelle als der Mac App Store oder ein Developer ID-identifizierter Entwickler. Beachten Sie, dass Java-Applets nicht am Developer ID-Programm teilnehmen können.

Wenn Torwächter gesetzt ist nur Mac App Store-Anwendungen vertrauen, dann werden Sie nicht in der Lage sein, um das Applet zu der vertrauenswürdigen Liste hinzuzufügen, wenn Sie die Applet-Zertifikat auf den Schlüsselbund mit dem Blatt hinzufügen, die klicken anzeigen erscheint Einzelheiten.

Unsignierte Applets dürfen die Java-Sandbox überhaupt nicht verlassen.

Dies entspricht der Behandlung von Mac-Apps durch Gatekeeper; Apps von nicht identifizierten Entwicklern dürfen nicht standardmäßig ausgeführt werden.

Wenn Sie möchten, dass der Wortlaut der Warnung geändert wird, geben Sie bitte einen Fehlerbericht unter https://developer.apple.com/bugreporter ein.

Dies bedeutet im Grunde, dass es keine Möglichkeit gibt, das Applet so zu signieren, dass Sie vermeiden können, dass diese Nachricht angezeigt wird. Ich meldete Apple einen Fehlerbericht, in dem ich sagte, dass der Wortlaut der Nachricht so geändert werden soll, dass er keine Wörter wie UNIDENTIFIED, UNVERIFIED, INSECURE enthält, denn das ist der Sinn der Applets, damit sich die Benutzer ganz warm fühlen können und gemütlich drinnen, wenn sie das Applet laufen lassen müssen, um ihnen zu versichern, dass das, was sie erlauben werden, OK und verifiziert ist und es ihrem Computer nichts anhaben wird, und wir es an einem Ort zeigen müssen, wo es hingehört werden sichtbar sein, um ihre Augen damit zu stoßen.

3

Sie haben Ihre eigene Frage beantwortet. Gatekeeper ist der Ansicht, dass Zertifikate/Signaturen, die nicht von Apple herausgegeben wurden, nicht vertrauenswürdig sind.

Apple Documentation wird Ihnen sagen, wie Sie Ihr Zertifikat exportieren. Sie können es dann wie gewohnt verwenden. Der Befehl codesign kann auch den Trick tun.

+0

Es scheint, dass Gatekeeper nicht versucht, Jar-Signaturen zu überprüfen, sondern dass ein erweitertes HFS-Attribut verwendet wird, um die Apple-Entwickler-ID zu überprüfen. http://StackOverflow.com/a/17222479/101151 Hast du deine Lösung getestet oder ist es Spekulation? – jla