Frage

Meine signiertes Java-Applet wurde bis zum Java-Update läuft gut 19. Jetzt sind einige, aber nicht alle unsere Nutzer auf Java-Update 19 Bericht eine Java-Sicherheitsmeldung, die besagt, dass unser Applet enthält sowohl mit und ohne Vorzeichen Code.

Der Prozess unser Applet für die Erstellung ist wie folgt:

  1. Reinigen und Erstellen Sie das Applet-Projekt in Netbeans IDE.
  2. Öffnen Sie das Applet-JAR-Datei in WinRAR und fügen Sie die erforderlichen MySQL JDBC-Treiber .class-Dateien in die JAR-Datei.
  3. Melden Sie das Applet-JAR-Datei.

Kann jemand bitte sagen Sie mir, wie Sie bestimmen, welcher Code signiert ist und welcher Code wird in unserem Applet nicht unterzeichnet? Gibt es einen besseren Weg, um die MySQL JDBC-Treiber-JAR-Datei in unserem Applet anders als das Kopieren der JAR-Datei Inhalt in unserem Applet-JAR-Datei enthalten?

Danke

War es hilfreich?

Lösung

Einige Dinge versuchen:

  • Gehen Sie auf die Java-Plug-Bedienfeld ($ JAVA_HOME / bin / Controlpanel).
  • Gehen Sie auf die Registerkarte Advanced.
  • erweitern Debug
  • Überprüfen Enable tracing, Enable logging und Show applet lifecycle exceptions
  • erweitern Java console
  • Überprüfen Show console
  • Klicken Sie OK (oder Close, je nach Betriebssystem)

Wenn das Applet lädt die Java-Konsole öffnen. Klicken Sie darauf und sofort drücken ‚5‘. Es protokolliert die Gläser und Klassen geholt wird Ihr Applet ausführen zu können. Irgendwo in dieser sollte es eine Meldung weist darauf hin, was Gläser oder Klassen betrachten sind „unsigned“. Wenn Sie es zum ersten Mal verpassen, laden Sie einfach das Fenster, um es erneut zu versuchen.

Andere Tipps

EDIT: Durch einen Fehler in Java 7 45-Update sollten Sie nicht Trusted-Bibliothek zu Ihrer Manifest-Datei hinzufügen. Fügen Sie einfach das neue Attribut Caller-zulässiges-Codebase. Sehen Sie diese Frage für weitere Informationen: Java-Applet Manifest - Lassen Sie alle Anrufer-zulässiges -Codebase

Java 7 Update 21 wurde am April veröffentlicht 16 2013 und verursachte unsere Applet zeigt diese Warnung Dialog zu starten.

Pro den Release Notes: Ab JDK 7u21, JavaScript-Code, dass als Mischcode und Warndialoge in einem privilegierten Applet-Code Anrufe behandelt wird ausgelöst, wenn die signierten JAR-Dateien nicht mit dem Trusted-Bibliothek Attribute markiert.

Um dies zu beheben, bearbeiten Sie Ihre manifest.mf Datei und fügen Sie eine Zeile wie folgt aus:

Trusted-Library: true

Sie sollten sehr vorsichtig sein, bevor dies aber tun. Wenn Ihr signiertes Applet kann von JavaScript aufgerufen wird dann ein böswilliger Benutzer möglicherweise schädliche Dinge auf den Computern der Benutzer tun kann.

Eine schnelle Möglichkeit Ihr Applet zu sichern, ist es zu verhindern, dass auf anderen Websites führen wird. Tun Sie dies durch Code in der init() Methode setzen, dass Blicke auf getCodeBase().getHost() und löst eine Ausnahme, wenn es nicht Ihre Website entspricht.

Java 7 Update 25 führt eine weitere Möglichkeit, die Websites zu beschränken, in denen Ihr Applet ausgeführt werden kann. Sie können das Codebase-Attribut in Ihrer Manifest-Datei wie folgt festgelegt:

Codebase: test.example.com www.example.com

Java 7 Update 45 (releated 16. Oktober 2013) stellt mehr Änderungen an der Liveconnect-System (Javascript-to-Applet-Brücke), die eine andere Eingabeaufforderung führen kann. Dieser Artikel spricht über die 7u45 Änderungen: https://blogs.oracle.com/ Java-Plattform-Gruppe / entry / liveconnect_changes_in_7u45

Im Wesentlichen werden Sie wollen auch die folgend in der Manifest-Datei hinzufügen, um die Eingabeaufforderungen zu vermeiden:

Caller-Allowable-Codebase: test.example.com www.example.com

Wenn Sie ein Produkt verkaufen, die ein Applet enthält und Sie nicht wissen, welche Domains kann es eingesetzt werden, auf Dich * hier bevölkern können.

Das Mischen vertrauenswürdige und nicht vertrauenswürdige Code ist zusammen eine Schwachstelle, die in der 6u19 (die aktuelle CPU / SSR-Release zum Zeitpunkt des Schreibens) wurde behoben. die Dokumentation ansehen. die Mischung Blocking oder mit einem Debugger sollte zeigen, wo das Problem ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top